配置apple-app-site-association文件并在服务器上传

时间:2017-02-21 15:02:33

标签: ios ios-universal-links

我是iOS开发的新手。我正在使用ASP.net应用程序在iOS App中实现Universal Links     我在Associated Domains下的功能中定义了我的关联域:      applinks:www.abcd.com
    还可以在Apple Developer Account上的App Ids中进行配置。我认为app方面的工作已经完成。

但我认为与apple-app-site-association文件存在问题。

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

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

现在我被困在这里。我的应用程序定位于iOS 9及更高版本。我很困惑,这个文件的扩展名是什么,命名为apple-app-site-association。如果我需要使用新证书登录。以及如何在服务器端上传它。

请大家帮帮我。我正在寻找这个,但没有得到满意的答案。

由于

2 个答案:

答案 0 :(得分:12)

如果用AppID / AppName的实际值替换,您的示例JSON看起来很好。您可能希望具体了解您处理的路线,但这取决于您 - 只有尝试处理您可能能够处理的路线才能获得更好的用户体验,而不是为您的每个链接打开应用程序域名并将用户再次踢出Safari,如果结果不是真的那样。

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

你说你支持iOS 9及更高版本 - 检查.well-已知路由的更改是在iOS 9.3中进行的,所以如果你想支持低于该操作系统,你最好关闭将文件放在两个位置。有关详细信息,请参阅this answer

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

这是您要完成的内容的摘要,但是如何执行此操作取决于您正在使用的Web服务器。对于可能是IIS的ASP应用程序,在这种情况下this question and its answers可以帮助您正确配置Web服务器。如何将文件上传到该服务器的根目录的细节在很大程度上取决于您如何配置它。

答案 1 :(得分:5)

apple-app-site-association文件没有扩展名。这只是一个普通的文件。您必须在域的顶层托管它,这意味着文件位置为https://www.abcd.com/apple-app-site-association托管后,您可以使用此链接https://branch.io/resources/aasa-validator/

进行检查/验证

有关详细信息,请参阅:https://blog.branch.io/how-to-setup-universal-links-to-deep-link-on-apple-ios-9/