为了下次开发涉及通用连接Universal link 的分享和支付等功能的时候少走弯路 对这个点进行下资料整理,仅供参考
1.登录苹果开发者账号https://developer.apple.com/account/resources/identifiers/bundleId/edit/U2WP8G7T54 创建 identifiers
2.开通Associated Domains
3.制作相关证书配置文件
4.创建纯文本不带后缀名的文件apple-app-site-association
如果要支持QQ分享配置如下
{
"applinks": {
"apps": [],
"details": [
{
"appID": "teamid.bundleid",
"paths": [ "*","/qq_conn/appid/*" ]
}
]
}
}
微信支付和分享
{
"applinks": {
"apps": [],
"details": [
{
"appID": "teamid.bundleid",
"paths": [ "*","/path/*" ]
}
]
}
}
5.将apple-app-site-association文件上传至HTTPS服务器根目录或者.well-known这个子目录下。
4.下载安装配置的证书文件 并在xcode工程中做相关配置
此处要确保:
使用https://domain.com/apple-app-site-association或者https://domain.com/.well-known/apple-app-site-association能够访问到(能够下载或者返回文件内容即可)。这里的域名,就是2中配置xcode的Associated Domains时候提到的域名。
也可以使用苹果的验证网站来验证文件是否能够被访问到。若应用未上线,可能出现如下结果:
特别注意:微信SDK中Universal links的使用参照微信sdk介入指引即可完成介入。但是如果完全按照该指引操作,可能会出现分享的时候,进行二次跳转的异常,具体表现就是:拉起微信后进行授权,然后立刻返回App,然后再次调起微信,这是由于通用链接授权失败,第二次降级为URLScheme方式启动微信。
如果保证了Universal links的配置正确,并且严格按照微信的接入文档执行操作,为什么通用链接授权还会失败呢?
2.建议Universal links 配置path 例如/app/*,避免全域名命中Universal links
例如apple-app-site-association文件配置为{
"applinks": {
"apps": [],
"details": [
{
"appID": "teamid.bundleid",
"paths": [ "*","/testapp/*" ]
}
]
}
}
该文件上传的Https域名服务器 为 https://www.test.com/
那么 微信后台需要填写配置的通用连接Universal link 为https://www.test.com/testapp/
App中调用微信openSDK的+(BOOL)registerApp:(NSString *)appid universalLink:(NSString *)universalLink方法的通用链接参数也一定要带路径即https://www.test.com/testapp/,保持一致,单纯的域名就会导致二次降级启动。
Xcode 中配置如下图
验证通用连接是否配置正确的方法:
1)将应用打包或者真机调试安装到手机上,json格式的文件是app第一次安装,它会从https://domain.com/apple-app-site-association下载这个文件。
2)需要测试该功能的时候,只需要在备忘录输入App能识别的链接https://www.test.com/testapp/,然后直接点击或是长按就可以了,直接点的效果是跳转到你的App,长按的效果是弹出的菜单中第二项是“在'XXX应用'中打开”,这也代表着成功。
3)如果未安装应用或者安装了应用由于网络的原因没有正确下载到apple-app-site-association文件则不会出现XXX应用中打开 ,这时候需要安装应用,切换网络重试。
附图备忘录中长按可以看到
Safari浏览器中输入通用连接后下拉应该能看到 APP中打开 点击点开按钮可以打开应用
备忘录中复制通用连接https://www.test.com/testapp/ 点击连接 可以正常直接打开APP
参考一下资料:
https://www.jianshu.com/p/c9c09992a6fe?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
https://www.jianshu.com/p/00dace48a53b
https://www.jianshu.com/p/ab50bdaec65d通用连接配置文章
https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Access_Guide/iOS.html 微信配置universal link