ios -Universal Link配置踩坑之旅

最近遇到从微信跳转到自己app升级成为了 Universal Link方式,以及最近发现分享微信时报错“Universal-Link校验不通过”的问题,搜索了很多大佬写的文章,一步步配置下来还是踩了不少的坑,总结一下:

1.首先必须有一个支持HTTPS的域名(可以在公司所用域名生成一个子域名,因为h5跳转app必须跨域),并且拥有该域名下的上传到根目录的权限(用来上传apple-app-site-association文件)。

2.apple-app-site-association文件配置,很多人是从网上直接复制粘贴的会出现格式问题,就是说文件用windows系统打开会是乱码,做好先转换成纯文本,再上传的时候去掉后缀名(因为格式问题很难发现,也是找了好久才发现的)

appID:组成方式是teamId. bundle identifier。可以登陆开发者中心,在Account -> Membership里面可以找到Team ID

paths:设定你的app支持的路径列表,只有这些指定的路径的链接,才能被app所处理。星号的写法代表了可识 别域名下所有链接。

根目录

然后上传到新域名的根目录如上图,index文件是配置一下跳转到appstore的地址,这样打开链接是有app时直接跳入app,没有app的时候可以跳转到appstore里面去下载app。

上传到根目录后在safari浏览器中打开子域名+apple-app-site-association看是否自动下载(eg:https://ios.xixihaha.com/apple-app-site-association)如果下载了这一步就ok了

3.配置证书和xcode,在开发者中心证书配置页找到Identifiers,然后点击项目的BundleID进入详情页,选中Associated Domains

然后在Xcode中添加universal link,以applinks:开头,后面是子域名链接

eg:完整链接https//ios.xixihaha.com

此处applinks:ios.xixihaha.com

xcode配置

然后验证一下是否可以跳转在备忘录里或者safari浏览器写上完整链接,重新安装一下app,看是否可以跳转到app,可以跳转就ok了

----------------------然后分享到微信之Universal-Link校验不通过---------------------

在上面步骤配置好的基础上,在微信开放平台中(https://open.weixin.qq.com/)配置好universal-link

微信开放平台

要跟xcode里面配置的一致。

然后在AppDelegate里注册微信的地方添加universal link

AppDelegate类

从外部通过universal link跳转到app的会到下面方法中去。可以在该方法中处理跳入后的后续事件处理。。。

回调方法

以上,如有疑问可以留言,不对的地方也欢迎建议指正。

你可能感兴趣的:(ios -Universal Link配置踩坑之旅)