iOS分享提示未验证应用
解决办法:配置univalsal-link 并在微信开发者中心配置正确的univalsal-link内容
iOS配置Universal link方法
1.在XCode中开启Associated Domains,并配置对应的域名
applinks:yourdomain
eg:applinks:baidu.com
2.配置apple-app-site-association文件,里面放入json
{
"applinks": {
"apps": [],
"details": [
{
"appID": "teamId.bundleId",
"paths": [ "*" ]
},
{
"appID": "teamId.bundleId",
"paths": [ "/wechat/*" ]
}
]
}
}
ps:teamId开发者账号对应的teamId
bundleId项目对应的bundleId
apple-app-site-association为文件名且无后缀
3.将apple-app-site-association上传到服务器根目录下,且必须支持https 根据官方提供可放在根目录下或者.well-known下,建议放在.well-known下,地址后不可以有.json后缀(切记)
如:https://域名/.well-known/apple-app-site-association 确保在浏览器打开https://域名/.well-known/apple-app-site-association能够下载或者打开json文件为准
4.初始化微信sdk,并传入univalsal-link (https://域名/wechat/yourapp)
[WXApi registerApp:@"appId" universalLink:@"your link"]
5.打开微信开发者中心对应的app项目,并配置univalsal-link
6.添加校验univalsal-link的代码,这样启动就会自动校验是否配置好univalsal-link了
// 在register之前打开log, 后续可以根据log排查问题
[WXApi startLogByLevel:WXLogLevelDetail logBlock:^(NSString *log) {
NSLog(@"WeChatSDK: %@", log);
}];
[WXApi registerApp:@"appId" universalLink:@"your link"]
//调用自检函数
[WXApi checkUniversalLinkReady:^(WXULCheckStep step, WXCheckULStepResult* result) {
NSLog(@"WeixinSDK2:%@, %u, %@, %@", @(step), result.success, result.errorInfo, result.suggestion);
}];
如果你按照上面的操作都完成了 仍然出现 未验证应用 则可能是以下某一种情况
1.微信sdk版本需要在.1.8.6及以上 如果版本过低,需要升级sdk
2.官方:需要等新版本放量上去让整体错误率下降到90%以下才会从未验证应用中移除
例如:前一天你的App总共分享了100次消息到微信(微信以AppID来统计,只计算1.8.6以及以上版本的分享),其中正确的次数必须要高于10次。
3.apple-app-site-association文件是否配置正确,需要有一个"paths": [ "*" ]通配符的路径 并且apple-app-site-association文件名无后缀