iOS 9 Universal Links无法正常工作

时间:2015-10-28 12:53:49

标签: ios iphone ios9 ios-universal-links

我尝试在我的应用程序中实现通用链接,但它无法正常工作。我将apple-app-site-association文件上传到我的服务器,我可以访问它。 (MIME类型:application / json) 以下是apple-app-site-association文件的内容:

{
"applinks": {
    "apps": [],
    "details": [
        {
            "appID": "L7LAMSGWAK.com.example.app",
            "paths": [
                "*"
            ]
        }        ]
}
}

我在我的应用程序中启用了关联域,并添加了以下域名: applinks:example.com

applinks:demo.example.com

(我也将apple-app-site-association文件上传到demo.example.com域名)

在AppDelegate.m文件中我写了这个:

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray *restorableObjects))restorationHandler {
NSURL* openedUrl = userActivity.webpageURL;
NSString* urlString = [openedUrl.absoluteString lowercaseString];
return YES;
}

我在这个方法中设置一个断点来检查它是否被调用,但它从未调用过。如果我点击这个链接:https://demo.example.com/asd它只是打开野生动物园,但我从来没有看到横幅打开我的应用程序中的链接。我真的不知道什么是错的。

2 个答案:

答案 0 :(得分:2)

尝试删除并重新安装该应用。 iOS会处理关联的域详细信息,并尝试在应用安装时读取apple-app-site-association文件。值得尝试使用真实设备(而不是模拟器)并检查设备日志(Xcode> Window> Devices并选择您的设备)。如果您看到### Rejecting URL 'https://demo.example.com/apple-app-site-association' for auth method 'NSURLAuthenticationMethodServerTrust': -6754/0xFFFFE59E kAuthenticationErr之类的内容,那么您的网站证书可能不适合iOS,或者下载您的关联文件时还存在其他问题。

答案 1 :(得分:1)

有点迟到的答案,但是当我尝试实现通用链接时,我遇到了同样的问题。我的解决方案是使用真实设备进行测试。

Apple文档列出了可以在模拟器上进行测试,但根据我自己的经验,它已经无法实现。

  

您可以在模拟器或设备上测试通用链接。 Source - Apple

我也尝试过使用Branch.io,他们声明无法使用模拟器进行测试。

您还应该验证您是否正在使用运行iOS> = 9.2的设备