有没有合法的方法从我的应用程序中获取iOS设备上所有已安装的应用程序?

时间:2011-02-04 22:54:28

标签: objective-c c ios

我正在创建一个应用程序,需要检查某些应用程序是否安装了给定的标识符。

有没有办法在没有私人符号和没有越狱的情况下做到这一点?

感谢。

3 个答案:

答案 0 :(得分:3)

Bump开发人员提示他们是如何做到的on their blog(见底部的评论):

  问:[...]你如何检查   最终用户拥有的应用程序   安装?我以为苹果没有   批准这样做的应用..

     

答:[...]没有一个简单的方法   检测安装了哪些应用。我们   使用几种方法的组合。   如果您需要检测其他应用程序   已注册自定义URL,即可   检查该URL是否存在。   否则,你可以找到那个应用程序   进程名称在运行中   背景

答案 1 :(得分:1)

这适用于某些应用,但不是全部。如果应用程序具有自定义URL方案,则可以查询应用程序对象以查看它是否响应:

以下是检查AirSharing的方法:

NSString *stringURL = @"airsharing://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

从此页面:http://wiki.akosma.com/IPhone_URL_Schemes

答案 2 :(得分:0)

NSString *rootAppPath = @"/Applications";

NSArray *listApp = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:rootAppPath error:nil];

NSLog(@"%@",listApp);