我正在使用apple的canOpenURL:和openURL:方法来检测&打开其他应用程序但由于这些方法在iOS9中已弃用,因此返回NO。
有没有替代方法来管理它?
由于
答案 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.
答案 1 :(得分:2)
Here您可以找到一些信息。
正如文章所说:
直到iOS 9,应用程序才能在任意URL上调用这些方法。从iOS 9开始,应用程序必须声明他们希望能够检查的URL方案,并在提交给Apple时在应用程序的配置文件中打开。这本质上是一个白名单,只能通过向Apple提交更新来更改或添加。系统应用程序处理的某些常见网址(如“http”,“https”)似乎不需要明确列入白名单。
简而言之: Apple希望阻止应用程序扫描用户的设备并知道安装了哪些应用
所以回答你的问题:实际上没有解决方案,因为苹果想要完全防止这种行为
答案 2 :(得分:1)
在某些情况下,如果您需要打开任意深层链接,Universal App Links可以是一个解决方案:您指向应用的网站(需要实现此行为),iOS 9将自动深层链接到adhoc app。