iOS - 网址白名单,适用于每个应用?

时间:2018-03-01 16:52:46

标签: ios url-scheme

我知道,一旦我的plist文件中列入了白名单,我就可以通过编程方式确定我的设备上是否安装了该应用。例如,如果我在plist文件中的spotify数组中有LSApplicationQueriesSchemes字符串,那么我可以通过

查询
UIApplication.shared.canOpenURL(NSURL(string: "spotify")! as URL)

我的问题是 - 目标应用是否也必须明确地将其网址列入白名单?那么其他人可以使用它吗?或者这适用于每个应用程序?每个应用都隐含有这样的URL吗?

1 个答案:

答案 0 :(得分:1)

要通过openURL打开应用,应用必须注册其对一个或多个自定义网址方案的支持。所以不,并非每个应用程序都隐式具有自定义URL方案。

当用户安装应用程序时,iOS会跟踪已安装的应用程序支持的URL方案。

当某些应用调用canOpenURL时,iOS首先会验证调用应用是否已将该自定义方案列入白名单。如果是,则检查设备上是否已安装任何已安装的应用程序,并相应地返回truefalse