Apple-app-site-association文件不会下载

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

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

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

最近试图实现通用链接function的同一问题。 fbeeper做出了很好的回应,帮助我确认确实存在重定向。

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

  • apple_app_site_association json文件放在公用文件夹中
  • 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

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

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

引用Apple的文档:

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

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

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

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

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

它仅适用于https服务器。

脚步:

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

 { "applinks": { "apps": [], "details": [ { "appID": ".", "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上创建一个应用程序。