0

我已经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 并通过短信单击它们。有谁看到问题出在哪里?

4

1 回答 1

0

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

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

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

另请注意,手动输入 Safari 时,通用链接将永远无法工作。请参阅此处了解更多信息。

于 2016-05-23T22:04:31.140 回答