Initial commit
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
//go:build ios
|
||||
// Minimal bootstrap: delegate comes from Go archive (WailsAppDelegate)
|
||||
#import <UIKit/UIKit.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int main(int argc, char * argv[]) {
|
||||
@autoreleasepool {
|
||||
// Disable buffering so stdout/stderr from Go log.Printf flush immediately
|
||||
setvbuf(stdout, NULL, _IONBF, 0);
|
||||
setvbuf(stderr, NULL, _IONBF, 0);
|
||||
|
||||
// Call UIApplicationMain IMMEDIATELY and start NOTHING else here. Do not
|
||||
// start the Go runtime yet: starting it concurrently with UIApplicationMain
|
||||
// intermittently corrupts the FrontBoard launch handshake on a physical
|
||||
// device, so the app delegate's didFinishLaunchingWithOptions never fires
|
||||
// (blank cold launch / 0x8BADF00D). Instead, the WailsAppDelegate (provided
|
||||
// by the Go archive) starts the Go runtime itself from
|
||||
// didFinishLaunchingWithOptions — i.e. only AFTER UIKit has delivered the
|
||||
// launch — so the runtime never races the launch handshake.
|
||||
return UIApplicationMain(argc, argv, nil, @"WailsAppDelegate");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user