提问者:小点点

如何配置apple-app-site-association文件


我是iOS开发的新手。我正在用ASP.NET应用程序实现iOS应用程序中的通用链接。我已经在“关联域:applinks:www.abcd.com”下的功能中定义了我的关联域,并在Apple Developer帐户上的App ID中进行了配置。我想应用端的工作都已经准备好了。

但我认为apple-app-site-association文件有问题。

我在一个简单的文本文件中编写了json,如下所示

{
  "applinks": {
    "apps": [],
    "details": [
    {
      "appID": "8T8932TY.com.AppName”,
      "paths": ["*"]
    }
    ]
  }
}

此文件的扩展名为Apple-App-Site-Association。是否需要使用新证书登录。以及如何在服务器端上传。

伙计们帮帮我吧。我正在寻找这个,但没有得到满意的答复。

谢谢


共1个答案

匿名用户

如果用实际值代替appid/appname,您的示例JSON看起来很好。您可能想要具体说明您处理的路由,但这取决于您--更好的用户体验是,只尝试处理您可能能够处理的路由,而不是打开应用程序访问域上的每一个链接,如果结果不是这样,就再次将用户踢出Safari。

apple-app-site-association文件不应具有任何文件扩展名,并且应从站点的根目录https://example.com/apple-app-site-association和/或从https://example.com/.well-known/apple-app-site-association提供。

你说你支持iOS9及以上版本--首先检查的是.wellow-route的更改是在iOS9.3版本中出现的,所以如果你想支持该操作系统以下版本,你最好把文件放在这两个位置上。详见此答案。

使用正确的MIME类型提供文件也很重要,对于通用链接,它可以作为application/json提供,不需要对其进行签名/加密。如果您不熟悉web服务器上的配置,那么使用正确的MIME类型提供服务可能会有点麻烦,因为服务器通常会根据文件扩展名来确定MIME类型。你不能给它一个扩展,因为iOS不会用扩展检查url并且(IIRC)重定向是不允许的,所以你也不能通过这样做来伪造它。

这是您试图完成的任务的总结,但如何完成取决于您使用的web服务器。对于可能是IIS的ASP应用程序,在这种情况下,此问题及其答案可能帮助您正确配置web服务器。如何将文件上载到服务器的根目录的详细信息也很大程度上取决于您如何配置它。