繁体   English   中英

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

[英]How to get a list of your iphone apps

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

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

非常感谢!

无法完成此操作,因为每个应用都已沙箱化。

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

如果您只想检测自己的应用程序,则可以使用自定义URL方案,几乎可以肯定的是,每个应用程序都将设置该URL方案,并对其进行检查。

您也可以越狱设备,但是我假设您想要在应用商店中分发的应用中使用此功能,因此您将无法添加需要越狱才能工作的功能。

编辑:

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

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

但是请注意,这不会为您提供有关该应用程序的任何信息。 任何应用程序开发人员都可以在自己的应用程序中添加“ fb://”自定义网址方案,这会使它错误地检测到它。

如果要查找iOS应用的自定义网址方案列表,只需在Google中搜索即可。

另一种解决方法是向用户展示应用商店中的所有应用。 如果他们的设备上安装了任何应用程序,则在iOS 7中,每个应用程序旁边都会显示一个名为“打开”的按钮。

例如,您可以有一个UITableViewCell或一个显示“ Checkout Our Apps”的UIButton。 在代码中,您将添加它。

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

用您的iTunes开发人员名称替换SixAxis LLC,当用户单击它时,它将启动仅显示您的应用程序的AppStore应用程序。 (每个价格旁边都有开盘价或价格金额)

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

在此处输入图片说明

由于沙盒环境,您所要做的就是测试是否可以打开自定义URL。 Akosma Software在他的Wiki上保留了一个受欢迎的Url列表: iPhone URL Schemes

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM