【设备类型及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
说一下这个坑:
举个例子:
你的域名是:https://xxx.com 你要匹配的是:https://xxx.com/app/link/
1、微信开发者 Universal Link 填写:https://xxx.com/app/link/
2、xcode 的 Associated Domains 添加 applinks:xxx.com
3、在你关联的域根目录下 创建 apple-app-site-association 文件,文件格式参照https://developer.apple.com/documentation/safariservices/supporting_associated_domains 。这里我们使用:{"applinks":{"apps":[],"details":[{"appID":"teamID.bundleID","paths":["/app/link/*"]}]}}
4、代码中注入即可
应用配置了Universal links 从备忘录和safari 浏览器都是可以跳转到APP,但是每次启动APP的时候都会跳转到微信,显示正在连接,然后再跳转回APP。每次启动都会重复上面操作,WeChatSDK的log全部检测通过了,不知道哪里有问题?帮忙看看
我出现了ios13分享时总是app-微信验证页-app,没有跳转微信好友列表界面,确认Universal Links配置正常,各方面都正常,搜索试错一天后发现,appdelegate中application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool方法未能正确实现,实现方法为
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {
return WXApi.handleOpenUniversalLink(userActivity, delegate: self)
}
加上这一段之后,一切正常,ok!
微信检测函数运行 全部通过,app 分享时还是弹出 ”未验证应用“。。 请求帮助,Universal Link 肯定配置对的。
请求协助。 请求帮助,着急
@"===微信版本===%@",[WXApi getApiVersion]
微信版本===1.8.7.1
实际的各型号的手机现象不同,有两个代表性的机型为:主要是分享功能:
iPhoneXs,iOS13.4.1,正常跳转,不会出现第二次跳转
iPhone7,iOS13.3.1,出现第二次跳转来到了APPdelegate方法里面的openURL,打印出来是url是这样wxb7bxxxxxxxxxxxxxxxxxxxxxxx://resendContextReqByScheme?wechat_auth_context_id=e0exxxxxxxxxxxxxxxxx
注册的方法为 [WXApi registerApp: wxIDstring universalLink: @"https://www.xxxxxxxxxxxxxxx.com/apple-app-site-association/"];
配置universal link的文件为以下方式:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "Z959Kxxxxxxxx.com.xxxxxx.xxxxxxApp",
"paths": [ "*" ]
},
{
"appID": "Z959Kxxxxxxxx.com.xxxxxx.xxxxxxxApp",
"paths": [ "*" ]
}
]
}
}
请问有人碰到类似的案例嘛,怎么解决
你好 我调用系统的openURL 可以正确跳转到Safari。用微信打开Universal links也能正确跳转到我的app。但是每次分享的时候还是需要连接
并没有解决我的问题,我这边最开始接入是没有问题的,突然某个版本之后就一直出现二次跳转了
我这里的问题是在两台 iphone 8 plus 上会出现这个问题,其它设备上没问题,如果是配置的问题,应该都出问题才对,怎么解?
1.9.2版本,这个问题已经困扰我一周了?大家有遇到的吗?
微信可以正常注册,但是授权登入发送出去后,没有回调我的响应方法,并且提示WeChatSDK: wxlog:Error:WXCheckULStepResult[success: 0, errorInfo: The universal link for WeChat is not in effect., suggestion: You can try uninstalling and reinstalling WeChat.] 这都是什么鬼,如果这个universal link有问题为什么注册的提示我所有检测正常,这不是有毛病吗?特么一个大公司这个问题连一个可靠的方案都没有,全是网友在讨论,还自查,我们能解决我还会来这里咨询吗。