我没有获得应用链接:在 iOS 中无法正常工作,每当我在我的 iOS 9 设备上打开类似 https://www.example.com/something
的链接时,它就会在 Safari 中打开.
我正在通过调试配置文件运行应用程序,在我的服务器上有一个名为 apple-app-site-association
的文件。
我发现有两种不同的格式:
{
"applinks": {
"apps": [],
"details": {
"AB1CDEFGHI.com.mydomain.myapp": {
"paths": ["*"]
}
}
}
}
还有
{
"applinks": {
"apps": [],
"details": [
{
"appID": "AB1CDEFGHI.com.mydomain.myapp",
"paths": [ "*" ]
}
]
}
}
所以这是我不确定使用哪个的第一件事。
第二个是“AB1CDEFGHI”部分;应用程序的“团队 ID”?它是包含在 appid 中的东西还是开发者帐户的团队 ID?
所以是这个完全黑掉了吗?
还是这里的这个(再次,完全涂黑的部分)?
编辑
我只是尝试在另一个应用程序中进行设置,第一次运行没有任何问题 - 真的不知道有什么区别。
- AppId 包括权利
- apple-app-site-association 是一样的
- 在应用中添加关联域
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray *restorableObjects))restorationHandler
实现
我可能遗漏了什么?
编辑 2
我刚刚看到两个应用程序的区别(一个可以工作,一个不能):工作的应用程序在开发者门户中有一个 AppId,其前缀与 TeamID 匹配,不工作的应用程序有一个前缀这与 TeamID 不同。我已经尝试使用 apple-association-file 中 AppID 的前缀,但它也不起作用...
最佳答案
我今天花了很多时间试图解决这个问题。最终归结为我的 SSL 证书的设置。您应该检查的事项:
1) 在 XCode 的设备控制台中(窗口 - 设备,选择您的 iPhone,然后通过单击主视图左下角的三角形打开对话框),您是否看到“Rejecting URL for auth method 'NSURLAuthenticationMethodServerTrust' :kAuthenticationError”?如果是这样,这意味着您的 SSL 证书很可能没有正确设置。
使用https://cryptoreport.websecurity.symantec.com/checker/views/certCheck.jsp以确保您的网站没有 SSL 证书错误。
此外,如果您在 infoplist 中绕过 TLS 1.2,您可能还必须删除这些 key 。
2) 确保在 developer.apple.com 为正确的 App ID 打开关联域
3) 确保将适当的应用程序链接添加到 XCode 项目目标中的关联域。还要确保权利文件已添加到您的项目中。我在某处读到该文件不是为某人生成的,这也可能是您的问题。
关于ios9 - iOS 9 中的应用链接不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33731371/