wails/v3/pkg/application/events_common_ios.go
Lea Anthony 873848a077 Merge iOS support from v3-alpha-feature/ios-support
This commit integrates iOS platform support for Wails v3, adapting the
iOS-specific code to work with the new transport layer architecture.

Key changes:
- Add iOS-specific application, webview, and runtime files
- Add iOS event types and processing
- Add iOS examples and templates
- Update messageprocessor to handle iOS requests
- Move badge_ios.go to dock package

Note: The iOS branch was based on an older v3-alpha and required
significant conflict resolution due to the transport layer refactor
(PR #4702). Some iOS-specific code may need further adaptation:
- processIOSMethod needs to be implemented with new RuntimeRequest signature
- iOS event generation in tasks/events/generate.go needs updating

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-10 18:34:21 +11:00

24 lines
No EOL
987 B
Go

//go:build ios
package application
import "github.com/wailsapp/wails/v3/pkg/events"
// Map platform events → common events (same pattern as macOS & others)
var commonApplicationEventMap = map[events.ApplicationEventType]events.ApplicationEventType{
events.IOS.ApplicationDidFinishLaunching: events.Common.ApplicationStarted,
}
// setupCommonEvents forwards iOS platform events to their common counterparts
func (i *iosApp) setupCommonEvents() {
for sourceEvent, targetEvent := range commonApplicationEventMap {
sourceEvent := sourceEvent
targetEvent := targetEvent
i.parent.Event.OnApplicationEvent(sourceEvent, func(event *ApplicationEvent) {
event.Id = uint(targetEvent)
// Log the forwarding so we can see every emitted event in iOS NSLog
iosConsoleLogf("info", " [events_common_ios.go] Forwarding iOS event %d → common %d", sourceEvent, targetEvent)
applicationEvents <- event
})
}
}