6

我已将我的 apple-app-site-association 文件上传到我的 HTTPS Web 服务器的根目录之后,我在 xcode 中添加了我的关联域。我遵循了苹果通用链接教程。

[SWC] ### 拒绝重定向到“ https://examplecustomdomain.com/apple-app-site-association/ ”(原始“ https://examplecustomdomain.com/apple-app-site-association ”)

我检查了我的设备日志,我看到了类似上面的错误

4

3 回答 3

6

最近尝试实现通用链接功能时遇到了同样的问题。fbeeper 给出了很好的回应,帮助我验证确实发生了重定向。

但是,它并没有帮助我确定如何解决重定向问题。因此,对于像我这样使用基于 Ruby on Rails 的后端的人来说,这里有一个示例,说明如何以满足 Apple 的所有要求的方式提供该讨厌的 apple-app-site-association 文件:

  • 将您的apple_app_site_associationjson文件放在public文件夹中
  • 在您的config/routes.rb文件中,添加如下行:

get '/apple-app-site-association' => 'home#apple_app_site_association'

  • 然后在相关的控制器文件(本例中的 home_controller)中,定义您的方法:

    def apple_app_site_association association_json = File.read(Rails.public_path + "apple-app-site-association") render :json => association_json, :content_type => "application/pkcs7-mime" end

于 2016-02-23T21:16:15.850 回答
2

我收到了一个非常相似的错误:

[SWC] ### Denying redirect to 'https://www.<domain>/apple-app-site-association' (original 'https://<domain>/apple-app-site-association')

引用 Apple 的文档:

  • 该文件必须托管在具有有效证书的 https:// 站点上(例如,Safari 在查看该站点时不得发出证书警告)。

  • 该文件不得使用任何重定向。

  • 该文件必须具有 MIME 类型 application/pkcs7-mime。

我的猜测是——对于我们俩来说——可以获取该文件,但它是被重定向之后。即使在同一个域下,操作系统也不会遵循该重定向;而且,显然,在日志上抱怨它。

运行curl -i https://<domain>/apple-app-site-association,您可能会看到HTTP/1.1 301 Moved Permanently, with Location: https://www.<domain>/apple-app-site-association(或类似的)。

于 2015-12-10T03:05:10.917 回答
1

它仅适用于 https 服务器。

脚步:

1)在rails应用程序的公共目录下创建一个类似apple_app_site_association的文件,没有任何扩展名,内容如下

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "<TEAM_DEVELOPER_ID>.<BUNDLE_IDENTIFIER>",
                "paths": [ "*" ]
            }
        ]
    }
}

2) 路线.rb

get '/apple-app-site-association', to: 'pages#apple_app_site_association'

3) pages_controller.rb

def apple_app_site_association 
   association_json = File.read(Rails.public_path + "apple_app_site_association")
   render :json => association_json, :content_type => "application/json"
end

例如,您检查

http://18.216.158.101/apple-app-site-association

要进行测试,您可以在 heroku 上创建一个应用程序。

于 2017-11-10T14:04:45.097 回答