如何获取您的iPhone应用程序列表

如何获得我所有的iphone应用程序列表(甚至每个应用程序的指针都会有帮助)?

我正在开发一个应用程序,其中包含一些屏幕应该包含我所有已安装应用程序的列表(带有它们的图标),并且选择一个用于将来启动它的选项取决于我的其他function。

非常感谢!

没有办法实现这一点,因为每个应用程序都是沙箱。

如果他们有自定义URL方案,您将能够确定是否安装了选定的应用程序。 例如,Facebook应用程序可以使用自定义URL方案“fb://”启动,但这些不保证是唯一的,因此不同的应用程序可以使用众所周知属于另一个应用程序的方案。 此外,并非所有应用程序都有自定义URL方案,您需要一些主列表(需要不断更新才能准确)以检查每个应用程序是否存在。 因此,您可以使用自定义URL方案检测已知应用程序的选择列表,但永远不会获得所有这些应用程序列表。

如果您只是想检测自己的应用程序,那么您可以拥有自定义URL方案,这些方案几乎肯定会为每个应用程序设置唯一,并检查这些方案。

您也可以越狱您的设备,但我假设您希望在app store中分发的应用中使用此function,因此您将无法添加需要越狱才能运行的function。

编辑:

这是一个示例,显示正在安装的Facebook应用程序的检测:

if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"fb://"]]) { // Handle the Facebook app being installed } 

但请注意,这不会为您提供有关该应用的任何信息。 任何应用开发者都可以将“fb://”自定义url方案添加到他们的应用中,这会使其错误地检测到它。

如果您想查找iOS应用的自定义url方案列表,只需在Google中进行搜索即可。

另一种看待这种情况的方法是向用户展示appstore中的所有应用。 如果他们的设备上安装了任何应用程序,那么在iOS 7中,他们会在每个应用程序旁边看到一个名为“打开”的按钮。

例如,您可以使用UITableViewCell或UIButton,其中显示“Checkout Our Apps”。 在代码中,您将添加此内容。

 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms://itunes.com/apps/sixaxisllc"]]; 

将SixAxis LLC替换为您的iTunes开发者名称,当用户点击它时,它将启动AppStore应用程序,只显示您的应用程序。 (每个旁边都有未结或价格金额)

注意:在实际设备上测试,而不是在模拟器中测试

在此处输入图像描述

由于Sandboxed环境,您可以做的就是测试是否可以打开自定义URL。 Akosma Software在他的维基上维护着一个流行的Url列表: IPhone URL Schemes 。