近期蘋果公司iOS 9系統(tǒng)策略更新,限制了http協(xié)議的訪問,此外應(yīng)用需要在“Info.plist”中將要使用的URL Schemes列為白名單,才可正常檢查其他應(yīng)用是否安裝。
當(dāng)你的應(yīng)用在iOS 9中需要使用 QQ/QQ空間/支付寶/微信SDK 的相關(guān)能力(分享、收藏、支付、登錄等)時(shí),需要在“Info.plist”里增加如下代碼:
<key>LSApplicationQueriesSchemes</key>
<array>
<!-- 微信 URL Scheme 白名單-->
<string>wechat</string>
<string>weixin</string>
<!-- 新浪微博 URL Scheme 白名單-->
<string>sinaweibohd</string>
<string>sinaweibo</string>
<string>sinaweibosso</string>
<string>weibosdk</string>
<string>weibosdk2.5</string>
<!-- QQ、Qzone URL Scheme 白名單-->
<string>mqqapi</string>
<string>mqq</string>
<string>mqqOpensdkSSoLogin</string>
<string>mqqconnect</string>
<string>mqqopensdkdataline</string>
<string>mqqopensdkgrouptribeshare</string>
<string>mqqopensdkfriend</string>
<string>mqqopensdkapi</string>
<string>mqqopensdkapiV2</string>
<string>mqqopensdkapiV3</string>
<string>mqzoneopensdk</string>
<string>wtloginmqq</string>
<string>wtloginmqq2</string>
<string>mqqwpa</string>
<string>mqzone</string>
<string>mqzonev2</string>
<string>mqzoneshare</string>
<string>wtloginqzone</string>
<string>mqzonewx</string>
<string>mqzoneopensdkapiV2</string>
<string>mqzoneopensdkapi19</string>
<string>mqzoneopensdkapi</string>
<string>mqzoneopensdk</string>
<!-- 支付寶 URL Scheme 白名單-->
<string>alipay</string>
<string>alipayshare</string>
</array>
image
現(xiàn)在從使用場(chǎng)景來(lái)說(shuō),在使用的過程中,判斷是否安裝對(duì)應(yīng)的客戶端,安裝直接跳轉(zhuǎn)對(duì)應(yīng)的app,沒有安裝則跳轉(zhuǎn)到對(duì)應(yīng)的網(wǎng)頁(yè)。
比如
BOOL open = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"taobao://"]];
如果配置了白名單,則返回實(shí)際是否安裝對(duì)應(yīng)的淘寶客戶端,否則返回NO。
而對(duì)于不管配不配置LSApplicationQueriesSchemes,如果安裝對(duì)應(yīng)的客戶端,是可以跳轉(zhuǎn)到對(duì)應(yīng)的客戶端。
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"taobao://"]];
補(bǔ)充一下iOS 10 下跳轉(zhuǎn)問題:
iOS 10 支持通過 URL Scheme 跳轉(zhuǎn)到系統(tǒng)設(shè)置
iOS10跳轉(zhuǎn)系統(tǒng)設(shè)置的正確姿勢(shì)
關(guān)于 iOS 系統(tǒng)功能的 URL 匯總列表