iOS9 - GaoZhenWei/SwiftLearning GitHub Wiki
iOS中可以通过canOpenURL:
方法来判断用户手机是否安装了某个app:
- 如果已安装指定的URL Scheme对应的app,则会返回true
- 如果未安装指定的URL Scheme对应的app,则会返回false
但是,在iOS9中对这个处理进行了改动,iOS9对
URL Scheme
的使用上增加了一个whitelist
,要求对在canOpenURL:
方法中使用的URL Scheme添加到工程的Info.plist
中,否则就算已经安装了此app,也会返回false,白名单最多允许添加50个URL Scheme。具体添加白名单的方式如下: 在Info.plist
文件中,增加一个key为LSApplicationQueriesSchemes
,类型为Array,然后增加多个URL Scheme即可:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>urlscheme</string>
<string>urlscheme2</string>
<string>urlscheme3</string>
<string>urlscheme4</string>
</array>
另外,iOS9没有对openURL:
方法中使用到的URL Scheme要求,也就是你可以直接打开某个URL Scheme对应的app,而不必将其加入到白名单中。iOS9对openURL:
方法唯一的改变是多了一个跳转提示,弹出一个提示框,让用户选择是否打开: