iOS13适配篇:微信openSDK1.8.6更新导致不能进行微信登录和分享问题解决方案
iOS13适配篇:微信openSDK1.8.6更新导致不能进行微信登录和分享问题解决方案
在 iOS13 的时代,微信 open SDK 的更新带来了新的挑战。最近,我们遇到了一个问题,即微信 open SDK1.8.6 更新后,无法进行微信登录和分享。经过一番调试和研究,我们找到了解决方案。
问题描述
在 iOS13 上,使用微信 open SDK1.8.6 进行微信登录和分享时,会出现以下错误:
* `-canOpenURL: failed for URL: "weixinULAPI://"`
* `WeChatSDKForiOS/WeChatSDKForiOS-1.8.6` 中的 `WXApi` 类方法 `openURL` 返回 `NO`
问题原因
经过分析,我们发现微信 open SDK1.8.6 的更新引入了新的 URL Scheme,导致 iOS13 上的 `-canOpenURL:` 方法返回 `NO`。具体来说,是因为微信 open SDK 中使用了 `weixinULAPI://` 这个 URL Scheme,而 iOS13 上的安全机制要求所有 URL Scheme 必须在 Info.plist 文件中注册。
解决方案
为了解决这个问题,我们需要在项目的 Info.plist 文件中添加一个新的键值对,注册 `weixinULAPI://` 这个 URL Scheme。具体步骤如下:
1. 打开项目的 Info.plist 文件。
2. 添加一个新的键值对,名称为 `LSApplicationQueriesSchemes`,类型为 `Array`。
3. 在 `LSApplicationQueriesSchemes` 中添加一个新元素,值为 `weixinULAPI`。
示例代码
以下是修改后的 Info.plist 文件的内容:
```xml
```
测试结果
经过修改 Info.plist 文件后,我们重新编译项目,并进行微信登录和分享的测试。结果显示,问题已经解决,可以正常进行微信登录和分享。
结论
在 iOS13 的时代,微信 open SDK1.8.6 的更新带来了新的挑战。但是,通过修改 Info.plist 文件注册 `weixinULAPI://` 这个 URL Scheme,我们可以解决这个问题。希望本文的内容能够帮助您解决类似的问题。