//go:build ios // Minimal bootstrap: delegate comes from Go archive (WailsAppDelegate) #import #include 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"); } }