【问题标题】:iOS Deeplink doesn't work when launching the appiOS Deeplink 在启动应用程序时不起作用
【发布时间】:2021-02-14 20:32:41
【问题描述】:

我在我的应用中实现了深层链接,一切正常,除了一件事:

如果应用关闭,虽然深层链接会识别并启动应用,但不会调用openURL方法:

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options

- (void)scene:(UIScene *)scene openURLContexts:(NSSet<UIOpenURLContext *> *)URLContexts API_AVAILABLE(ios(13.0))

它总是调用:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

选项为零。

架构设置正确。

回顾一下:

  • 当应用已经打开时,深度链接在任何情况下都能正常工作;

  • 如果应用关闭,应用会与深层链接架构相关联,然后会打开,但是没有要解析的 URL。

在模拟器和真实设备上都经过测试。

有人知道为什么会发生这种情况吗?

谢谢。

【问题讨论】:

    标签: ios objective-c swift


    【解决方案1】:

    如果你有窗口场景,这一切都取决于你对scene:willConnectToSession:options: 的实现。 URL 位于options

    【讨论】:

    • 感谢您的回答。我真的错过了检查这种方法。但是,它似乎只在某些情况下有效。如果我完全关闭应用程序并打开一个深层链接,它似乎不会被调用。我第一次尝试它工作但可能是因为它恢复了在后台暂停的现有会话。这对你有意义吗?
    • 好吧,我没有义务使用通用链接。就我的目的而言,架构就足够且易于设置。实际上,除了这方面,一切都正常工作,并且仅在 iOS 上(在 tvOS 上运行良好)。问题不在于userActivities,一旦调用该方法,一切顺利。问题是,当应用程序从深层链接调用时,该方法不会被调用,而它是关闭的。我只调用了一次,但我不知道为什么。
    猜你喜欢
    • 2021-06-18
    • 2014-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-30
    • 1970-01-01
    • 2018-03-22
    • 2011-03-07
    相关资源
    最近更新 更多