收藏
回答

在iPadOS13上使用WebView方式进行微信登录,WebView里会提示未安装客户端不能登录

【背景】

iOS审核会对第三方登录进行未安装App场景的验证。但更新至iOS SDK 1.8.6.2后,在iPadOS 13下,通过微信SDK的WebView进行登录时,WebView内会提示「本设备未安装微信客户端,无法使用微信登录功能」。这个问题导致我们App审核被拒。

【分析】

搭建空demo工程,只引入微信SDK,尝试此登录行为时,发现现象相同。因此判断此问题由微信SDK自身产生。

通过Safari的inspector工具尝试获取微信SDK的WKWebView的User-Agent,发现UA为「Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko)」,这是Mac的UA。

但老版本的微信SDK的UIWebView,UA为「Mozilla/5.0 (iPad; CPU OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148」

通过查找该登录页面的代码,发现页面代码里是通过判断UA是否包含iPhone、iPad,来决定是否可以使用微信登录功能的。而iPadOS 13上,UA为Mac,所以提示报错。并且在尝试将iPad系统设置里的「Request desktop website」关掉后问题依旧,证明此WebView的UA不依赖iPadOS 13的新功能。

【求解】

希望微信SDK可以解决此问题,以帮助开发者顺利过审。

我们确实看到现在微信SDK提供了扫码登录的能力的接口,但临时实现微信扫码登录成本实在太高。我们也是为了适配新SDK的Universal Links验证,才更新了SDK,没想到遇到这个问题。

iOS的审核问题对开发者来说往往是致命的。希望微信可以尽快更新SDK,帮开发者解决审核问题。

回答关注问题邀请回答
收藏

1 个回答

  • 微信支付技术助手8
    微信支付技术助手8
    2020-03-10

    SDK问题,可以到小程序栏目进行咨询。

    2020-03-10
    有用
    回复
登录 后发表内容
问题标签