我已将我的apple-app-site-association文件上传到我的HTTPS网络服务器的根目录之后,我在xcode中添加了我的关联域。我已经按照苹果通用链接教程。
[SWC] ###拒绝重定向到“https://examplecustomdomain.com/apple-app-site-association/”(原始“https://examplecustomdomain.com/apple-app-site-association”)
我检查了我的设备日志,我看到了如上所述的错误
答案 0 :(得分:5)
最近尝试实施通用链接功能时遇到了同样的问题。 fbeeper做出了很好的回应,帮助我确认确实存在重定向。
但是,它无法帮助我确定如何解决重定向问题。因此,对于像我这样使用基于Ruby on Rails的后端的人来说,这里有一个如何以满足Apple所有要求的方式提供这个讨厌的apple-app-site-association文件的例子:
apple_app_site_association
json文件放在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
答案 1 :(得分: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
,Location: https://www.<domain>/apple-app-site-association
(或类似)。
答案 2 :(得分:1)
仅适用于https服务器。
步骤:
1)在rails应用程序的公共目录下创建 apple_app_site_association 等文件,不带任何扩展名,内容如下
{
"applinks": {
"apps": [],
"details": [
{
"appID": "<TEAM_DEVELOPER_ID>.<BUNDLE_IDENTIFIER>",
"paths": [ "*" ]
}
]
}
}
2)routes.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上创建一个应用程序。