Firebase dynamicLink 在冷启动时不起作用 - Xcode 11、iOS 13

Meg*_*iar 1 ios firebase swift firebase-dynamic-links

如果您直接从动态链接启动您的应用程序(并假设您的应用程序尚未在后台运行),则不会调用 application:continueUserActivity。

过去,我们曾经依赖于 application:didFinishLaunchingWithOptions 但是从 iOS13 和 Xcode 9 开始,这不再起作用了。现在,当您从 dynamicLink 启动应用程序时,launchOptions 为零,因此不再起作用(此解决方案不再起作用的示例如下:https : //stackoverflow.com/a/46722785/6553577

有谁知道如何处理这个问题?(感谢您的答复)

Meg*_*iar 8

感谢马特,并按照他的建议使用场景委托,我能够让它工作。作为参考,并帮助朋友们花费数小时,这是我的 swift 代码:(这是在 iOS v13.3 上测试的,使用 Xcode v11.3 和 Firebase iOS SDK v6.14.0)

    func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
        guard let _ = (scene as? UIWindowScene) else { return }

        if let userActivity = connectionOptions.userActivities.first {
            if let incomingURL = userActivity.webpageURL {
                _ = DynamicLinks.dynamicLinks().handleUniversalLink(incomingURL) { (dynamicLink, error) in
                    guard error == nil else { return }
                    if let dynamicLink = dynamicLink {
                    //your code for handling the dynamic link goes here
                    }
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

  • 这正是我的问题。你节省了我很多个小时的浪费时间。谢谢。谢谢。谢谢@MegaMaziar (2认同)