之前 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分享微信支付、微信登錄綁定、新浪登錄綁定、支付寶支付、支付寶登錄綁定等。