我没有获得applinks:在iOS无法正常工作时,每当我在iOS 9设备上打开int
这样的链接时,它就会在Safari中打开。
我通过调试配置文件运行应用程序,在我的服务器上有一个名为https://www.example.com/something
的文件。
我找到了两种不同的格式:
apple-app-site-association
以及
{
"applinks": {
"apps": [],
"details": {
"AB1CDEFGHI.com.mydomain.myapp": {
"paths": ["*"]
}
}
}
}
因此我首先要确定使用哪一个。
第二个是' AB1CDEFGHI' -part; " Team-ID"该应用程序?它是appid中包含的内容还是开发者帐户的团队ID?
这个完全被黑掉了吗?
或者这是这个(再次,部分完全变黑)?
{{3}}
修改
我只是尝试在其他应用中进行设置,第一次没有任何问题工作 - 真的不知道其中的差异。
{
"applinks": {
"apps": [],
"details": [
{
"appID": "AB1CDEFGHI.com.mydomain.myapp",
"paths": [ "*" ]
}
]
}
}
已实施我可能会错过什么?
编辑2
我刚看到两个应用程序(正在运行的应用程序和无效的应用程序)之间存在差异:工作应用程序在开发人员门户中有一个AppId,前缀与TeamID匹配,不是-working app的前缀与TeamID不同。我已经尝试在apple-association-file中使用AppID中的前缀,但它不起作用......
答案 0 :(得分:2)
我花了很多时间试图解决这个问题。它最终归结为我的SSL证书的设置。你应该检查的事项:
1)在XCode的设备控制台中(窗口 - 设备,选择你的iphone,然后点击主视图左下角的三角形打开对话框),你看到"拒绝auth方法的URL ' NSURLAuthenticationMethodServerTrust':kAuthenticationError"?如果是这样,这意味着您的SSL证书很可能未正确设置。
使用https://cryptoreport.websecurity.symantec.com/checker/views/certCheck.jsp确保您的网站没有SSL证书错误。
此外,如果您在信息通信表中绕过TLS 1.2,则可能还必须删除这些密钥。
2)确保在developer.apple.com上启用Associated Domains以获取正确的App ID
3)确保将相应的applink添加到XCode的Project Target中的Associated Domains。还要确保将权利文件添加到项目中。我在某处读到这个文件没有为某人生成,这也可能是你的问题。
答案 1 :(得分:1)
我发现了我的错误:我必须使用apple-app-site-association
文件中的App ID前缀,该前缀与此特定应用的TeamID不同。
我没有找到除了TeamID以外的其他文档的文档,这就是我花了这么长时间的原因。只有在我与两个应用程序进行比较后,我发现了唯一的区别,现在它正在发挥作用。
答案 2 :(得分:0)
向https:/// apple-app-site-association端点发出请求的设备/本机应用程序的行为是不可预测的。但我确实注意到从权利文件中添加/删除“applinks:”似乎确实触发了请求。通过CharlesProxy代理您的设备,您可以看到正在发出的请求(虽然只是域名,而不是因为证书固定而导致的完整SSL请求),但它总比没有好。