iOS 9中的applinks无法正常工作

时间:2015-11-16 08:50:49

标签: ios9 deep-linking

我没有获得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?

这个完全被黑掉了吗?

enter image description here

或者这是这个(再次,部分完全变黑)?

{{3}}

修改

我只是尝试在其他应用中进行设置,第一次没有任何问题工作 - 真的不知道其中的差异。

  • AppId包含权利
  • apple-app-site-association是相同的
  • 在应用
  • 中添加的相关域名
  • { "applinks": { "apps": [], "details": [ { "appID": "AB1CDEFGHI.com.mydomain.myapp", "paths": [ "*" ] } ] } } 已实施

我可能会错过什么?

编辑2

我刚看到两个应用程序(正在运行的应用程序和无效的应用程序)之间存在差异:工作应用程序在开发人员门户中有一个AppId,前缀与TeamID匹配,不是-working app的前缀与TeamID不同。我已经尝试在apple-association-file中使用AppID中的前缀,但它不起作用......

3 个答案:

答案 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请求),但它总比没有好。