我尝试在我的应用程序中实现通用链接,但它无法正常工作。我将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它只是打开野生动物园,但我从来没有看到横幅打开我的应用程序中的链接。我真的不知道什么是错的。
答案 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的设备