Scheme白名單
從iOS9.0后,涉及到平台客戶端的跳轉,系統會自動到info.plist下檢查是否設置Scheme。如果沒有做相應的配置,就無法跳轉到相應的客戶端。因此如果客戶端集成有分享與授權,需要配置Scheme白名單。
解決方案:
(1)、在info.plist增加key:LSApplicationQueriesSchemes,類型為NSArray。
(2)、添加需要支持的白名單,類型為String。
新浪微博白名單:sinaweibo、sinaweibohd、sinaweibosso、sinaweibohdsso、weibosdk、weibosdk2.5。
微信白名單:wechat、weixin。
支付寶白名單:alipay、alipayshare。
QQ與QQ空間白名單:mqzoneopensdk、mqzoneopensdkapi、mqzoneopensdkapi19、mqzoneopensdkapiV2、mqqOpensdkSSoLogin、mqqopensdkapiV2、mqqopensdkapiV3、wtloginmqq2、mqqapi、mqqwpa、mqzone、mqq。
另外,如果應用使用了檢測是否安裝了某款app,我們會調用canOpenURL, 如果url不在白名單中,即使手機上有這款app,也會返回NO。
補充:在使用sharesdk進行分享的時候,如果你設置有微信、QQ、QQ空間分享,並且你也把相應的白名單給添加進去了,但是如果你手機上沒有裝QQ的時候,也是不會出現分享到QQ的選項。