Apple-app-site-association无效

时间:2016-10-07 14:12:31

标签: swift ios9 ios-universal-links

我已经实现了apple-app-site-association与我的iOS应用程序的深层链接。
我创建了没有扩展名的.JSON文件,并放置在我网站的根目录下。
现在,我可以在任何浏览器上看到该文件为http://viralpatel.net/blogs/freemaker-template-hello-world-tutorial/

以下是apple-app-site-association文件中的json正文 -

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "AppID.bundleIdentifier",
                "paths": [ "*"]
            }
        ]
    }
}

仅供参考我在我的网站内添加了以下内容(angular.js).htaccess -

<FilesMatch "^apple-app-site-association$"> ForceType application/json </FilesMatch>

我已经启用了&#34;关联域名&#34;在Xcode和developer.apple.com中。
但是,当我尝试安装新版本时,它无法正常工作。
通过挖掘设备日志,我收到以下错误。 />请看看并帮助我解决我的错误。

  

[SWC] ### Bad apple-app-site-association JSON:错误   Domain = NSCocoaErrorDomain Code = 3840&#34; JSON文本没有以   数组或对象以及允许未设置片段的选项。&#34;   UserInfo = {NSDebugDescription = JSON文本不是以数组或   允许片段未设置的对象和选项。}

4 个答案:

答案 0 :(得分:1)

.well-known/添加到您的路径:

https://<fully qualified domain>/.well-known/apple-app-site-association

来自https://developer.apple.com/documentation/safariservices/supporting_associated_domains_in_your_app

答案 1 :(得分:0)

该文件已正确托管,如使用:

确认
curl -I https://pravin-dev.slicepay.in/apple-app-site-association

您还可以使用Apple's Applebot抓取您的网站以验证Apple-app-site-association。但是,这只会验证您的应用是否有效。

问题可能与您的关联文件无关。您应该验证您的应用确实正在检查https://pravin-dev.slicepay.in/apple-app-site-association而不是https://slicepay.in/apple-app-site-association。仔细检查您的功能的关联域部分中的applinks,并正确生成.entitlements文件。您正在使用pravin-dev子域 - 如果未指定,则您的应用可能无法查找正确的位置。

您可能知道必须卸载该应用以重新检查apple-app-site-association。

Ensure capabilities includes subdomain Ensure entitlements file was set properly

答案 2 :(得分:0)

我也有这个;文件结构正确,无论是否使用 .well-known 都可以访问,权利是正确的...

...事实证明,关闭和打开我的设备解决了这个问题。我认为 iOS 会在重启时重新获取应用程序的通用链接。

如果所有其他方法都失败了,请尝试将其关闭并重新打开。

答案 3 :(得分:-3)

服务器似乎以某种方式将文件作为错误类型提供。如果您尝试在Web浏览器(https://branchmaps.app.link/apple-app-site-association)中加载正常工作的AASA文件,您将看到它立即下载并且生成的文件没有类型。您的文件显示在浏览器中,下载后会显示JSON文件类型。

如果要将文件保存为apple-app-site-association.json然后删除扩展名,请尝试直接从Atom / Sublime /无文件名保存它,以确保操作系统不嵌入元数据。

您还可以使用免费的深层链接平台,例如Branch.io(完全披露:我在分支机构团队中),而不需要处理此服务器配置:)