mirror of
https://github.com/wailsapp/wails.git
synced 2026-03-14 14:45:49 +01:00
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>
45 lines
961 B
Go
45 lines
961 B
Go
//go:build darwin && !ios
|
|
|
|
package application
|
|
|
|
/*
|
|
#cgo CFLAGS: -mmacosx-version-min=10.13 -x objective-c
|
|
#cgo LDFLAGS: -framework Cocoa
|
|
|
|
#include "Cocoa/Cocoa.h"
|
|
|
|
extern void dispatchOnMainThreadCallback(unsigned int);
|
|
|
|
static void dispatchOnMainThread(unsigned int id) {
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
dispatchOnMainThreadCallback(id);
|
|
});
|
|
}
|
|
|
|
static bool onMainThread() {
|
|
return [NSThread isMainThread];
|
|
}
|
|
|
|
*/
|
|
import "C"
|
|
|
|
func (m *macosApp) isOnMainThread() bool {
|
|
return bool(C.onMainThread())
|
|
}
|
|
|
|
func (m *macosApp) dispatchOnMainThread(id uint) {
|
|
C.dispatchOnMainThread(C.uint(id))
|
|
}
|
|
|
|
//export dispatchOnMainThreadCallback
|
|
func dispatchOnMainThreadCallback(callbackID C.uint) {
|
|
mainThreadFunctionStoreLock.RLock()
|
|
id := uint(callbackID)
|
|
fn := mainThreadFunctionStore[id]
|
|
if fn == nil {
|
|
Fatal("dispatchCallback called with invalid id: %v", id)
|
|
}
|
|
delete(mainThreadFunctionStore, id)
|
|
mainThreadFunctionStoreLock.RUnlock()
|
|
fn()
|
|
}
|