iOS 13以后通过Universal Links 打开app后不走代理方法

要求通过一个网页打开app并跳转到对应的app页面,SceneDelegate里边的

 func scene(_ scene: UIScene, continue userActivity: NSUserActivity) 

方法中实现了调转逻辑,自己找了个页面测试了一下 可以跳转,但是把app杀死以后就不行了 杀死以后可以点击打开app 但是不会跳转,自己加日志发现 在app杀死的情况下 打开app不会走

  func scene(_ scene: UIScene, continue userActivity: NSUserActivity) 

查看文档没有找到具体为什么, 网上搜了半天相关问题基本上都是抄自一个人的博客在说SceneDelegate 都沾不上边的答案,最后发现 杀死app后打开 会走

  func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) 

connectionOptions中有一些属性查看了一下

   open var userActivities: Set<NSUserActivity> { get } 

尝试在改方法中手动的触发了

 func scene(_ scene: UIScene, continue userActivity: NSUserActivity)  
 代码如下  if let userActivity = connectionOptions.userActivities.first {
            self.scene(scene, continue: userActivity)
        }

测试好使, 记录一下。 如果你有更好的解决方法或者找到了苹果官方明确的文档,希望分享我一下

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容