通用链接Bad JSON

时间:2016-05-23 21:03:23

标签: ios deep-linking ios-universal-links

我在服务器上正确上传了apple-app-site-association。它的格式如下:

{
    "activitycontinuation": {
      "apps": [
        "ASDF.com.company.appname"
      ]
    },
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "ASDF.com.company.appname",
                "paths": [ "/menu/*", "/menu/*/*", "/account/history", "/"]
            }
        ]
    }
}

我的权利设置正确:

applinks:company-site.com
activitycontinuation:company-site.com

我已经使用Charles代理验证安装时设备从服务器获取正确的文件。

查看设备日志时,出现以下错误:

Bad apple-app-site-association JSON: Error Domain=NSCocoaErrorDomain Code=3840 "JSON text did not start with array or object and option to allow fragments not set." UserInfo={NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.}

我通过linter跑了JSON,结果很好。服务器在标头中发回Content-Type: application/json。我正在测试物理设备。我尝试在Safari中手动输入URL并通过短信单击它们。有谁看到问题所在?

1 个答案:

答案 0 :(得分:0)

我相信apple-app-site-association的第一部分是不必要的,可能会导致验证错误(Apple对此文件非常严格)。我还没有在其他任何地方看到过这种情况 - 你有没有特别的原因包括它?

试试这个,看看它是否效果更好:

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "ASDF.com.company.appname",
                "paths": [ "/menu/*", "/menu/*/*", "/account/history", "/"]
            }
        ]
    }
}

另请注意,当手动输入Safari时,Universal Links将从不工作。有关详细信息,请参阅here