如何查找iPhone中安装的应用程序

问题描述 投票:4回答:4

我正在开发一个应用程序,需要在其中找到iPhone设备(例如Skype,facebook)中已安装的应用程序。我要检查一下如果可以的话,请给我代码片段,否则请提供一个链接以获取解决方案。

如果可能,那么如何也禁用该应用程序?

iphone facebook iphone-sdk-3.0 ios-simulator
4个回答
17
投票

您不能检查任何应用程序,但实际上可以检查正式共享其URL方案的应用程序。

您可以找到这些URL方案here中最大的数据库。现在,如何使用?我们需要的只是UIApplication。首先,我们需要检查iOS是否可以打开特定的网址:

[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"fb://profile"]];

如果此方法返回yes,则用户已安装了facebook应用程序。要打开以下应用程序,您需要调用:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"fb://profile"]];

这将在Facebook应用程序中打开您的Facebook个人资料。

A,因为每个第三方软件都在沙盒中,所以无法在iOS上禁用任何其他应用程序。


2
投票

Tapbots可以执行类似的操作,但只能使用他们自己的应用。他们可能通过使用每个应用程序与服务器进行通信来跟踪其服务器上的设备UDID,因此他们能够显示在给定设备上安装了哪些应用程序。

如上所述,这仅适用于您制作的应用,因为您将成为在应用中编写此类功能的人。您无法检查其他人制作的应用程序的存在。

也没有公共API允许您禁用其他应用。而且,正如其他人所说的,应用程序都沙盒化了。

[顺便说一句...如果您试图禁用那些应用程序,因为它们与您的应用程序竞争...算了吧。可以而且将要遵循的法律含义不是很漂亮。


0
投票

由于将其沙箱化到您自己的应用程序环境中,因此我认为不可能。

[我指的是一般应用程序,而不是您所制作的应用程序(如BoltClock所提到的,因为您指的是facebook和skype应用程序,我想不是您的。


0
投票

我质疑您这样做的原因,尤其是禁用其他应用程序。应用被沙箱化到自己的环境中。任何违反此规定的内容将不会被App Store接受。

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