iOS universal Link 修改配置文件path路径后

2021-01-19  本文已影响0人  d0u

此文章内所有情况都基于universal Link服务已经设置成功.
如果还有其他疑问推荐一篇极详细的文章https://xie.infoq.cn/article/3923388d392338f72a616075a


由于之前没在意,配置微信的universal link 使用了全域名 https://baidu.com/,这就会导致一种情形:

在微信内直接打开https://baidu.com/abc ,不会有任何问题,但是在abc内进行跳转到 https://qq.com,然后再跳转回https://baidu.com/下的任何网页都会调起App.原因是在服务器设置apple-app-site-association配置信息的时候没有设置path,微信上写的也是全域名.
解决办法:

  1. 修改了自己服务器上apple-app-site-association的配置,添加path路径
{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "9JA89QQLNQ.com.apple.wwdc",
                "paths": [ "/iosapp/*"]
            }
        ]
    }
}
  1. 修改微信开放平台的universal link 为" https://baidu.com/iosapp/ "
  2. 修改代码中注册微信时的universal link 为" https://baidu.com/iosapp/ "
  3. 看下面的话,非常重要!!!!

重点来了: 你即使所有的都修改成功了,更新app后在微信内还是会异常吊起.是因为APP本身只会在第一次安装的时候去你的服务器下载apple-app-site-association的配置然后缓存到本地(我也查到有的说更新上架到App Store后,在App Store更新也会重新下载,然后我测试的并没有...),所以你在自己服务器修改对老用户来说是没有什么卵用的,除非是让用户删除app,重新下载安装.


另类解决办法: 修改你的apple-app-site-association配置文件所放的地址,也就是说更换universal link的域名地址,将https://baidu.com改成https://test.com, xcode上直接删除到原来Domains里的https://baidu.com,添加新的https://test.com,这样更新APP后,检测到Domains发生改变,会重新请求apple-app-site-association配置文件,就会生效了.

上一篇下一篇

猜你喜欢

热点阅读