Universal Link

最近项目中需要用到从网页端打开App的功能,之前记得用的url scheme的形式来调用App,可以在不同的App之间跳转;现在需要从网页跳转到App,就调研了一下,把过程记录下来
之前项目代码中用的到微信SDK版本比较低,更新之后用不了,看微信文档需要使用universal link,但是因为不太懂就退回到之前版本,还能使用,只是会提示未验证应用,因为还可以用就没更新

一、自己来

  1. 生成apple-app-site-association文件;
    复制下面内容到文件中,修改TeamId和BundleId,保存为apple-app-site-association,没有后缀名;
    把这个文件放到网站的根目录下;
    {
      "applinks": {
        "apps": [],
        "details": [
          {
            "appID": "TeamId.BundleId1",
            "paths": [
              "/path1/*"
              ]
          },
          {
            "appID": "TeamId.BundleId2",
            "paths": [
              "/path2/*"
              ]
          }
        ]
      }
    }
    
  2. 配置开发者证书;
    进入开发者网站,点击Certificates, Identifiers & Profiles,点击Identifiers,点击bundle id进入Edit your App ID Configuration,打开Associated Domains开关;重新生成profile 文件,并下载安装
  3. 配置xcode项目;
    点击Project-Signing & Capabilities-Associated Domains,在里面添加配置过的域名,以applinks:test.example.com这种形式,前面是applinks开头而不是https

二、用第三方

  1. 发现有第三方可以直接生成universal link,这里用的openinstall,需要注册,使用免费版本即可
  2. 按照文档一步一步集成即可,有iOS版,安卓版和Web的,可以不用他们的web版,直接使用iOS版对应的universal link,自动生成的链接类似这种https://q1ynhc.openinstall.io/ulink

三、遇到的问题

  1. 按照要求把apple-app-site-association文件放在网站的根目录下,但是打开还是没用。用微信分享SDK里的校验方式校验没问题,用苹果官方的校验网站校验不通过,还以为是域名的问题,最后发现啥也没改第二天就可以了,配置完后需要时间才能生效
  2. 因为中间进行过App转移,导致openinstall生成的链接不能用了,然后就自己配置了一遍,发现也挺简单的
原文地址:https://www.cnblogs.com/shenyuiOS/p/14386731.html