微信分享出现“未验证应用”是因为没有升级微信sdk最新版,要升级到1.8.6版本以上才行。
按着微信开发文档集成即可。需要注意的问题:
1.个别版本可能会出现找不到api里边的属性或方法报错,开始以为是微信换了API,结果不是,解决方法:把微信sdk删除,重新下了最新版导入,就可以了。
2.配置苹果的Associated Domains属性,
注意这个是以applinks开头,格式是:applinks:加上你们的域名,例如:applinks:www.baidu.com
3.自己写一个json文件,内容如下:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "你的开发者账号的teamID.你的app的bundleID",
"paths": ["/app/*"]
},
{
"appID": "你的开发者账号的teamID.你的app的bundleID",
"paths": ["/appcrm/*"]
}
]
}
}
如果只有一个app的话,就写一个对象就行,我这个是两个app,所以写的是两个,注意多个app的话,参数paths不能只写["/*"],得加上路径,例如["/app/*"],要不然调起微信的时候跳转有问题。两个app会混乱。appID:你的开发者账号的teamID和你的app的bundleID中间以"."符号连接。文件命名为:apple-app-site-association
4.把上边写好的文件发给后台,传到服务器的根目录下的.well-known目录中,然后得到一个路径,例如:https://www.baidu.com/.well-known/apple-app-site-association,这个路径就是你要的Universal Links。
5.得到这个路径后就在你的项目中配置相应的参数,我用的友盟分享,例如:
//配置微信平台的Universal Links
//微信和QQ完整版会校验合法的universalLink,不设置会在初始化平台失败
[UMSocialGlobal shareInstance].universalLinkDic = @{@(UMSocialPlatformType_WechatSession):@"https://www.baidu.com/.well-known/apple-app-site-association/",
@(UMSocialPlatformType_QQ):@"https://www.baidu.com/.well-known/apple-app-site-association/"
};
注意新版友盟没有了[[UMSocialManager defaultManager] setUmSocialAppkey:@""];这个方法,你得调用[UMConfigure initWithAppkey:@"" channel:@"App Store"];不然分享会报错。
6.要在info.plist里的LSApplicationQueriesSchemes加上weixinULAPI属性。
7.在微信开放平台信息中配置Universal Links。
8.配置完成后重新装app,运行分享会依然显示“未验证应用”,得等到第二天分享才会好。
9.如果是apple-app-site-association文件内容错了,修改完后需要卸载app后重新安装才行,不卸载会有缓冲。
问题排查:https://docs.qq.com/doc/DZHNvSGJLS3pqbHNl