在iOS 9中是否有替代(已弃用)的canOpenURL?

时间:2015-07-17 07:44:32

标签: objective-c ios9

我正在使用apple的canOpenURL:和openURL:方法来检测&打开其他应用程序但由于这些方法在iOS9中已弃用,因此返回NO。

有没有替代方法来管理它?

由于

3 个答案:

答案 0 :(得分:7)

您需要提供"白名单"对你的plist

<key>LSApplicationQueriesSchemes</key>
<array>
 <string>urlscheme</string>
 <string>urlscheme2</string>
 <string>urlscheme3</string>
 <string>urlscheme4</string>
</array> 

查看更多详情

iOS 9 has made a small change to the handling of URL scheme.

More details

答案 1 :(得分:2)

Here您可以找到一些信息。

正如文章所说:

  

直到iOS 9,应用程序才能在任意URL上调用这些方法。从iOS 9开始,应用程序必须声明他们希望能够检查的URL方案,并在提交给Apple时在应用程序的配置文件中打开。这本质上是一个白名单,只能通过向Apple提交更新来更改或添加。系统应用程序处理的某些常见网址(如“http”,“https”)似乎不需要明确列入白名单。

简而言之: Apple希望阻止应用程序扫描用户的设备并知道安装了哪些应用

所以回答你的问题:实际上没有解决方案,因为苹果想要完全防止这种行为

答案 2 :(得分:1)

在某些情况下,如果您需要打开任意深层链接,Universal App Links可以是一个解决方案:您指向应用的网站(需要实现此行为),iOS 9将自动深层链接到adhoc app。