iOS 9在各方面增强了安全性,最明显的变化,除了ATS之外,那就是openURL的变化了。在iOS 9之前,应用可以使用UIApplication
的openURL:
方法,打开任意自定义Scheme的链接时(比如twitter://, fb://等)--只要iOS支持。从iOS 9开始,相信很多人都见过这样的对话框:
所有使用iOS 9以前的SDK作为Base SDK编译的应用,在使用openURL:
打开其他应用时默认就会弹出这样的确认对话框,以防止未经用户授权的随意的应用转跳。而用iOS 9 SDK作为Base SDK编译的应用,调用openURL:
就会出错。在Xcode的Console会出现类似如下的错误消息:
1
|
|
要让你的App能打开某个自定义Scheme的链接,你需要在Info.plist中声明你的应用需要让openURL:
支持的Scheme类型,如下:
1 2 3 4 5 |
|
这样,你就可以调用openURL:
来打开自定义Scheme的链接了。
参考:
(全文完)