Universal Links是iOS系统提供的机制

判断Universal Link是否生效

Safari中输入Universal Links,点击前往, 下拉页面看是否有入口

包括完整路径+随机字符串:
https://set.your.domain/yourpath/randomStr

示例,sdk sample:https://help.wechat.com/sdksample/abc

不生效的可能原因

1、工程配置associated domain未打开或未添加Universal links域名

示例:
sdk sample的associated domain配置(你的App请使用你的App的域名)
-w1076

  1. 把你的ipa安装后缀名改为zip
  2. 找到embedded.mobileprovision文件
  3. 确认你的embedded.mobileprovision文件中associated domain项有配置上域名

PS: [如何查看mobileprovision文件内容](https://www.google.com.hk/search?q=mobileprovision%E6%9F%A5%E7%9C%8B
)

2、配置文件的appID(teamID+bundleID)与实际代码包不匹配

-w605

确认你安装的包的teamid.bundleid在配置文件中

PS:若发现配置文件有问题,更新配置文件后,请删除App重新安装,触发系统下载配置文件

3、配置文件未上线或未按苹果要求放在服务器指定的路径下

系统会使用配置的associated domain去下载配置文件:

  1. https://set.your.domain/.well-known/apple-app-site-association
  2. https://set.your.domain/apple-app-site-association

首先会尝试下载1中well-known目录下的apple-app-site-association文件,如果没有,尝试去2中根目录下载。

注意:如果是将配置文件放在2中,要确保1中.well-known返回404,不要重定向到任何其他页面。否则iOS系统会认为下载成功,不再尝试去2中下载

4、配置文件的Universal links的path末尾没有加通配符

-w595

确保你的配置文件中有加上通配符

5、配置下载失败

  1. 确认当前设备是否有连接代理等,导致系统下载配置文件失败
  2. 删除App重新安装看是否恢复
  3. 换设备看Universal Links是否生效
  4. 最新iOS系统不再直接通过设备直接下载apple-app-site-association文件,而是通过bot爬取到这个文件后,放在苹果CDN服务器上,会有延迟。

系统bug?

使用以上五步排查完,还有问题,请联系苹果。。

相关文档

苹果文档

如果觉得我的文章对你有用,请随意赞赏