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文件名無后綴