關(guān)于iOS 13中AppDelegate的變化硬耍,請參考這篇文章:Xcode11新變化:SceneDelegate
在Xcode11創(chuàng)建的項目中让虐,-[AppDelegate application:openURL:options:]
方法是不會被回調(diào)的,我參考上面的那篇文章,找到了兩個解決辦法:
解決辦法一
可以在#import "SceneDelegate.m"
中實現(xiàn)
- (void)scene:(UIScene *)scene openURLContexts:(NSSet<UIOpenURLContext *> *)URLContexts{
}
這個方法被回調(diào)的操作和-[AppDelegate application:openURL:options:]
是一致的捕发。
解決辦法二
這個也是最簡單粗暴的方法庙楚,刪除和SceneDelegate.{h,m}
所有相關(guān)的東西面哥,包括info.plist
下的Application Scene Manifest
和AppDelegate.m
中的
- (UISceneConfiguration *)application:(UIApplication *)application configurationForConnectingSceneSession:(UISceneSession *)connectingSceneSession options:(UISceneConnectionOptions *)options {
return [[UISceneConfiguration alloc] initWithName:@"Default Configuration" sessionRole:connectingSceneSession.role];
}
- (void)application:(UIApplication *)application didDiscardSceneSessions:(NSSet<UISceneSession *> *)sceneSessions {
}
然后再在AppDelegate
中添加window
屬性并實現(xiàn)哎壳。