由于开发者账号迁移,发现微信分享出现未验证应用,特此总结下解决方法。 1、修改apple-app-association文件。可以按照苹果官方推荐设置,也可以参考知乎的设置格式,知乎的apple-app-association文件:https://oia.zhihu.com/apple-app-site-association。 修改举例:appID(teamID+bundleID)知乎应该是拥有多个开发者账号所以在detail内能看到4个appID配置。 paths设置:如果没有多个应用,建议直接用通配符*就行了,如有指定就用/app/*,双斜杠必须要有,中间内容自定义。 修改完成放到你们的服务器域名根目录或.well-known文件夹下。苹果文档参考链接 2、查看微信开放平台的Universal Links,这下面注释很清楚,请填写能唤起当前应用的Universal Links路径(https开头,以“/”结尾, 建议带path,比如“ https://your_domain/app/ ”),在实际调用SDK时,会校验Universal Links是否匹配。上面步骤1用的通配符*就直接用https://your_domain/。 3、打开项目Targets中的Associated Domains,检查domain填写是否正确,格式举例:applinks:domain。注意这里只写domain不填前面的paths路径。 4、项目代码微信初始化的时候使用第二步设置的Universal Links链接。 [WXApi registerApp:appKey universalLink:applink]; 5、如果项目中还集成了友盟分享,将友盟的微信分享库手动集成到项目中,并下载微信官方SDK并进行替换(我采用了微信1.8.9版本SDK进行替换),然后在代码中配置微信平台时redirectURL设置为Universal Links的链接。 [[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_WechatSession appKey:appKey appSecret:appSecret redirectURL:applink]; 6、验证分享,将手机app删除,重新打包安装进行多次分享测试,这时还会提示未验证应用,如果只有首次分享需要授权,后面分享不再跳转两次,就代表设置成功了。然后就多用分享,第二天再看应用就不再提示未验证应用了。如果还未成功,尝试删除app,重启手机再试。 提示:微信的check要是能过了,就等几分钟,用iPhone的safari浏览器访问你设置的Universal Links地址,下拉有应用小横条提示了就可以了。按照微信文档去配置,基本会出问题基本都是apple-app-association文件设置的问题。
App更新微信1.8.6.1版本SDK后出现“正在连接”的提示?【设备类型及SDK版本号】 ios; SDK版本号:1.8.6.1 【用户表现】 app每次分享都出现【正在连接】的二跳情况 或 授权登录页面出现二次确认弹窗。 [图片] [图片] 【符合预期的表现】 用户首次使用SDK内功能时可能会出现上述提示,但每个用户只有首次使用的时候会出现,后续不会再提示。 【错误原因】 开发者在registerApp传入的Universal links不生效,每次分享鉴权通过Universal links回跳app失败,导致微信降级scheme返回app,自动重新发起兜底请求。目前兜底请求可以通过,但微信后续也会逐步拦截。 【原因分析】 Universal links失效,可能原因: 1)工程配置associated domain未打开或未添加Universal links域名 2)配置文件未上线或未按苹果要求放在服务器指定的路径下(域名根目录) 3)配置文件的Universal links的path末尾没有加通配符* 4)配置文件的appID(teamID+bundleID)与实际代码包不匹配 【解决方案】 1. 按微信以及苹果的官方接入文档检查Universal Links配置是否符合要求 2. 确认配置正确后,按微信接入文档内的【SDK接入成功验证指引】逐步验证 微信文档:https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Access_Guide/iOS.html 苹果文档:https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content
2021-03-18