Xcode11创建的项目不能回调-[AppDelegate application:openURL:options:]方法的解决办法

释放双眼,带上耳机,听听看~!

关于iOS 13中AppDelegate的变化,请参考这篇文章:Xcode11新变化:SceneDelegate

在Xcode11创建的项目中,-[AppDelegate application:openURL:options:]方法是不会被回调的,我参考上面的那篇文章,找到了两个解决办法:

解决办法一

可以在#import "SceneDelegate.m"中实现

- (void)scene:(UIScene *)scene openURLContexts:(NSSet<UIOpenURLContext *> *)URLContexts{
}

这个方法被回调的操作和-[AppDelegate application:openURL:options:]是一致的。

解决办法二

这个也是最简单粗暴的方法,删除和SceneDelegate.{h,m}所有相关的东西,包括info.plist下的Application Scene ManifestAppDelegate.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属性并实现。

人已赞赏
iOS文章

iOS开发之各种动画各种页面切面效果

2020-5-12 18:47:10

iOS文章

iOS开发UIScrollView属性以及代理大全

2020-5-12 21:41:56

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索