之前 ShareSDK 做微信分享遇到过这个问题,写在了纸上,现在整理到简书。
问题描述
在根据 ShareSDK iOS 简洁版快速集成 文档进行操作后,最后真机调试(在已安装微信的情况下)还有可能出现如下报错:
-canOpenURL: failed for URL: "weixin://app/wxdaae92a9cfe5d54c/" - error: "This app is not allowed to query for scheme weixin"
出现这个报错的主要原因是 iOS 9 要求在“Info.plist”中将要使用的外部应用 URL Schemes 列为白名单,才可正常检查其他应用是否安装。
解决方法
受此影响,当你的应用在iOS 9中需要使用微信SDK的相关能力(分享、收藏、支付、登录等)时,需要在“Info.plist”里增加如下代码:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>mqqOpensdkSSoLogin</string>
<string>mqzone</string>
<string>sinaweibo</string>
<string>alipayauth</string>
<string>alipay</string>
<string>safepay</string>
<string>mqq</string>
<string>mqqapi</string>
<string>mqqopensdkapiV3</string>
<string>mqqopensdkapiV2</string>
<string>mqqapiwallet</string>
<string>mqqwpa</string>
<string>mqqbrowser</string>
<string>wtloginmqq2</string>
<string>weixin</string>
<string>wechat</string>
</array>
以上是一些常用应用的白名单,囊括了qq登录绑定、qq支付、qq分享微信支付、微信登录绑定、新浪登录绑定、支付宝支付、支付宝登录绑定等。