Files
PojavLauncher_iOS/Natives/AppDelegate.m
T
Duy Tran Khanh b5af92d0f5 JVM crash dump: now shown, disable some Cr4shed handler
When Cr4shed crash handler is on, chaining to it will eventually crash
instead of returning so that JVM can continue perform dump. For now,
signal handlers are reset to default.

abort() is now caught and shown in the launcher.

Temporarily disabled safe area when windowed, until I can properly set
it up, in order to workaround buttons going out of bounds.
2022-11-03 21:12:55 +07:00

69 lines
2.6 KiB
Objective-C

#import "AppDelegate.h"
#import "LoginViewController.h"
#import "SceneDelegate.h"
#import "ios_uikit_bridge.h"
#import "utils.h"
// SurfaceViewController
extern dispatch_group_t fatalExitGroup;
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
if (@available(iOS 13.0, *)) {
} else {
self.window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds];
launchInitialViewController(self.window);
[self.window makeKeyAndVisible];
}
return YES;
}
#pragma mark - UISceneSession lifecycle
- (UISceneConfiguration *)application:(UIApplication *)application configurationForConnectingSceneSession:(UISceneSession *)connectingSceneSession options:(UISceneConnectionOptions *)options API_AVAILABLE(ios(13.0)){
// Called when a new scene session is being created.
// Use this method to select a configuration to create the new scene with.
return [[UISceneConfiguration alloc] initWithName:@"Default Configuration" sessionRole:connectingSceneSession.role];
}
- (void)application:(UIApplication *)application didDiscardSceneSessions:(NSSet<UISceneSession *> *)sceneSessions API_AVAILABLE(ios(13.0)){
// Called when the user discards a scene session.
// If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
// Use this method to release any resources that were specific to the discarded scenes, as they will not return.
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
NSDictionary *data = [NSDictionary dictionaryWithObject:url forKey:@"url"];
[[NSNotificationCenter defaultCenter] postNotificationName:@"MSALoginCallback" object:self userInfo:data];
return YES;
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
CallbackBridge_setWindowAttrib(GLFW_FOCUSED, 1);
}
- (void)applicationDidEnterBackground:(UIApplication *)application {
CallbackBridge_setWindowAttrib(GLFW_VISIBLE, 0);
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
CallbackBridge_setWindowAttrib(GLFW_VISIBLE, 1);
}
- (void)applicationWillResignActive:(UIApplication *)application {
CallbackBridge_setWindowAttrib(GLFW_FOCUSED, 0);
}
- (void)applicationWillTerminate:(UIApplication *)application {
if (fatalExitGroup != nil) {
dispatch_group_leave(fatalExitGroup);
fatalExitGroup = nil;
}
}
@end