项目最初因审核原因,一直使用iOS原生分享, 最近因项目需求要求, 接入微信分享, 以为和原来的没有区别, 但是接入时才发现改动的地方还是挺多的, 主要是需要配置UniversalLink和提包时的一些问题, 在此做一下记录
1.制作apple-app-site-association
文件,并放置在准备好的链接根目录下,让后台人员给你这个https的链接,一定要https的(该步骤主要时后台人员操作)。apple-app-site-association的
内容如下:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "Team ID.com.xxx.xxxx",
"paths": ["*"]
}
]
}
}
其实就是一个json,apps数组不用管,details里面填入对应得appID和paths。appID就是用前缀+bundleID的方式,在App Store应用后台可以查看此前缀。paths则是可访问APP的对应页面路径,APP Delegate有对应方法可以获取, 可添加多个paths。苹果提供了一个地址来 验证 我们编写的这个apple-app-site-association是否合法有效, 通过如下图所示:
2.在developer里, Identifiers应用管理开启Associated Domains
3.在微信开放平台配置universalLink, 注意这里必须以https开头, 以/结尾
4.在项目中添加配置
添加Associated Domains
填写Domains, 格式为applinks:UniversalLink的形式, 如applinks:demo.xxx.com, 注意这里必须为裸的域名,不要加https或者文件名
在info.plist中添加白名单
在appdelegate中添加对应的回调
5.接下来的步骤就和微信SDK升级前的一样做对接就可以了
1.校验apple-app-site-association时要耐心等待, 时间有可能会久一点, 多次Test会报错, 因为点击之后是没有loading的, 会让人误以为无响应
2.微信开放平台配置的universalLink必须以https开头, 以/结尾, 否则无法跳转
3.Domains对应的值格式为applinks+UniversalLink的形式, 这里必须为裸的域名,不要加https或者文件名,否则在提包时会报错