在iOS9中缸榄,如果使用 canOpenURL: 方法,該方法所涉及到的 URL scheme 必須在"Info.plist"中將它們列為白名單(在iOS9及以前的版本設(shè)置的上限50個)巾乳,否則不能使用。key叫做LSApplicationQueriesSchemes 鸟召,鍵值內(nèi)容如下:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>urlscheme</string>
<string>urlscheme2</string>
<string>urlscheme3</string>
<string>urlscheme4</string>
</array>
So for apps that are linked before iOS 9 and are running on iOS 9, they will be given 50 distinct URL schemes. When you call the subsequent 51st scheme, you will be returned the value no. These 50 URL schemes are not restarted when the user restarts the device.
蘋果為什么要這么做胆绊?
在 iOS9 之前,你可以使用 canOpenURL: 監(jiān)測用戶手機(jī)里到底裝沒裝微信欧募,裝沒裝微博压状。但是也有一些別有用心的 App ,這些 App 有一張常用 App 的 URL scheme跟继,然后他們會多次調(diào)用canOpenURL: 遍歷該表种冬,來監(jiān)測用戶手機(jī)都裝了什么 App ,比如這個用戶裝了叫“大姨媽”的App舔糖,你就可以知道這個用戶是女性娱两,你就可以只推給這個用戶女性用品的廣告。這是侵犯用戶隱私的行為金吗。
這也許就是原因谷婆。
常見 URL Scheme
如果想一次性集成最常用的微信、新浪微博辽聊、QQ、支付寶四者的白名單期贫,則配置如下:
<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>
其他平臺可在下面的列表中查詢: 各平臺OpenURL白名單說明
查詢:https://github.com/ChenYilong/iOS9AdaptationTips (摘自此文)