如何以编程方式检查iPhone中是否安装了应用程序列表

时间:2018-06-04 08:28:32

标签: ios swift

在我的应用程序中,我显示了应用程序列表。是否可以在iPhone中找到已安装或未安装的应用程序数组。 如果有任何可能性,请在swift中提供相关代码,以检查iPhone中是否安装了应用程序数组。

2 个答案:

答案 0 :(得分:1)

在过去,您可以将canOpenURLiHasApp这样的库一起使用。这仅适用于注册自定义深层链接方案的应用程序,但它捕获了大多数重要的应用程序。

但是自iOS 9以来,这种方法似乎有限 - 请参阅How to reset `canOpenURL` limit in iOS9?

一般情况下,出于隐私原因,您的应用不允许知道系统中还安装了哪些内容。

答案 1 :(得分:0)

来自您的沙盒应用

默认情况下,Application Layer不允许您使用私有API来检查设备上安装的其他应用程序。

变通方法

  1. 如果目标第三方应用支持网址方案。您可以使用[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"someScheme://randomText"]]检查他们实施的网址方案。

  2. (不推荐)看看像/System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices LSApplicationWorkspace这样的私有框架。 allInstalledApplications中有一个名为LSApplicationWorkspace的方法可以使用,检查运行时标题以获取更多信息。

  3. 关闭主题〜适用于MDM设备

    使用移动设备管理(MDM)协议,您可以使用InstalledApplicationList命令获取目标设备上已安装应用程序的数组。以下是对所述MDM命令的响应。 enter image description here