iOS 9 个通用链接 - 未收到任何参数

iOS 9 Universal Links - no parameters recieved

使用新的 iOS 9 功能 - 根据我的理解,通用链接应该在浏览器(或其他应用程序?)中打开特定域时首先打开我的应用程序。我已经阅读了文档和这个 guide.

但是,当应用程序打开时,我没有收到旨在帮助我打开正确页面供用户查看的参数....

我会分享我正在使用的代码,但它是一个相当大的基础架构,而不是几行代码(服务器端 JSON、plist 行和开发人员门户上的一些 ID)。

有人遇到过,可以帮帮我吗?

您 link 阅读的 Branch 指南(完全披露:我与 Branch 团队合作)不幸的是没有涵盖一个相当重要的步骤:您的应用程序打开后要做什么。这正是您遇到的问题:)。但好消息是您已经完成了所有服务器和授权配置的困难部分。

完成循环所需的 continueUserActivity handler in your AppDelegate.m file. This will pass you a webpageURL property 包含打开应用程序的通用 Link 的实际 URL,然后您可以对其进行解析并用于路由。它看起来像这样:

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray *))restorationHandler {
    if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) {
     NSString *myUrl = [userActivity.webpageURL absoluteString];
        // parse URL string or access query params
    }
    return YES;
}

此外,在测试时请记住,不幸的是,Universal Links 还不能 在任何地方工作:

P.S., 想问一下...既然您已经找到了 Branch 博客,您是否考虑过使用该服务来为您处理 link 路由?它绝对可以帮助简化事情!