近期蘋果公司iOS 9系統(tǒng)策略更新涮较,限制了http協(xié)議的訪問叁丧,此外應用需要在“Info.plist”中將要使用的URL Schemes列為白名單啤誊,才可正常檢查其他應用是否安裝。
當你的應用在iOS 9中需要使用 QQ/QQ空間/支付寶/微信SDK 的相關能力(分享拥娄、收藏蚊锹、支付、登錄等)時稚瘾,需要在“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>
現(xiàn)在從使用場景來說,在使用的過程中摊欠,判斷是否安裝對應的客戶端丢烘,安裝直接跳轉(zhuǎn)對應的app柱宦,沒有安裝則跳轉(zhuǎn)到對應的網(wǎng)頁。
比如
BOOL open = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"taobao://"]];
如果配置了白名單播瞳,則返回實際是否安裝對應的淘寶客戶端掸刊,否則返回NO。
而對于不管配不配置LSApplicationQueriesSchemes赢乓,如果安裝對應的客戶端忧侧,是可以跳轉(zhuǎn)到對應的客戶端。
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"taobao://"]];
補充一下iOS 10 下跳轉(zhuǎn)問題:
iOS 10 支持通過 URL Scheme 跳轉(zhuǎn)到系統(tǒng)設置
iOS10跳轉(zhuǎn)系統(tǒng)設置的正確姿勢
關于 iOS 系統(tǒng)功能的 URL 匯總列表