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

问题描述 投票:0回答:1

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

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

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

ios url-scheme
1个回答
1
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.