2017-02-26 79 views
4

我试图将通用链接集成到我的iOS应用程序中。所以每当有人点击<myapp>.herokuapp.com/content直接重定向到应用程序。我遵循this指南进行设置。我做了以下设置,但无法使其工作。我也检查了其他线程在stackoverflow但他们都没有解决这个问题。ios:通用链接不适用于iOS 10

  • 在我的应用程序目标中的Capabilities选项卡中添加了Associated Domains。添加了两个域:activitycontinuation:<myapp>.herokuapp.comapplinks:<myapp>.herokuapp.com
  • 在构建阶段>复制包资源添加了文件.entitlements。
  • 接到https://developer.apple.com/account/#/membership
  • 在我的网站teamId添加apple-app-site-association路线在https://<myapp>.herokuapp.com/apple-app-site-association返回以下JSON:

    { 
        "applinks": { 
         "apps": [], 
         "details": [ 
          { 
           "appID": "<teamId>.<bundleId>.dev", 
           "paths": [ "*" ] 
          }, 
          { 
           "appID": "<teamId>.<bundleId>", 
           "paths": [ "*" ] 
          } 
         ] 
        }, 
        "activitycontinuation": { 
         "apps": [ 
          "<teamId>.<bundleId>.dev", 
          "<teamId>.<bundleId>" 
         ] 
        } 
    } 
    
  • 在Xcode

    安装的应用程序到iPhone 6S加(物理设备)包ID <bundleId>.dev并将链接https://<myapp>.herokuapp.com/content复制到Notes,但在Safari中打开。

回答

5

解决了这个问题。问题是我正在使用Debug配置进行测试。当我尝试使用Release build时,一切都可以正常工作。

+0

如何设置发布版本?我们应该设置一些设置吗? –

+0

在Xcode产品>方案>编辑方案。运行选项卡>构建配置>发布。 – meteors

0

域粘贴到这个link并检查它没有问题

+0

链接检查内容类型为“application/pkcs7-mime”,而iOS 9及以上版本不再需要它。 – meteors

+0

所以你正在用Content-Type application/json来提供它吗? – DiegoQ

+0

是的。它在这里提到您可以使用Content-Type application/json:https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/Handoff/AdoptingHandoff/AdoptingHandoff.html#//apple_ref/doc/uid/TP40014338-CH2-SW10 – meteors

1

有相当多的可能会阻碍你的通用链接在这里工作的问题。

这里有一些事情要仔细检查:

  • 是在AASA文件正确命名,并正确签署?
  • 您是否正在使用物理设备进行测试? (有人说Universal Links现在可以在iOS 10的模拟器中一直工作,但我仍然使用物理设备)
  • 您的设备和配置证书是否全部无错?
  • 由于网络连接问题首次安装/启动应用时,AASA文件可能无法更新(例如,如果Charles Proxy正在捕获流量,我发现AASA将无法下载)
  • 当测试,你是否首先将链接粘贴到Notes中,然后长时间按下它?您是否看到“在应用程序中打开”菜单选项?如果是这样,通用链接工作正常,并刚刚在设备上被禁用。

我还建议通过Alex Austen关于此主题的超级博客文章,因为这样做可能会帮助您发现问题(此处为:https://blog.branch.io/how-to-setup-universal-links-to-deep-link-on-apple-ios-9/)。

分行有许多用于识别通用链接问题的工具/资源。他们是专门用于与分公司联系使用,但您仍可能会发现他们有帮助:

+0

Hello @dwestgate - 我没有签名AASA文件,因为提到只有在支持小于iOS 9.0的情况下才需要签名的AASA文件。我正在使用Content-Type application/json提供文件。 - 是的,我正在物理设备上测试。 - 我的供应配置文件似乎是正确的,因为我可以在我的iPhone上安装发布版本。 - 我不知道当我安装应用程序时,苹果会尝试下载AASA文件。如果是这样,那么我会尝试使用Charles Proxy捕获请求,但目前我没有运行它。 – meteors

+0

- 我在写入Notes之前安装了应用程序,长按时没有可用的打开应用程序选项。 – meteors

+0

哦,为什么stackoverflow不支持评论中的降价? – meteors