2010-09-06 55 views
4

我正在开发一个应用程序,在该应用程序中我需要找到已安装在iPhone设备(如Skype,Facebook)中的应用程序。我需要检查它。如果可能,请给我代码片段,否则请链接到解决方案。有没有可能。如何知道iPhone中安装的应用程序

如果这是可能的,那么如何禁用应用程序也...

在此先感谢......

+0

这将侵犯用户的隐私,而不是由设备或操作系统本身的支持。尽管如此,您可能会在启动或设置应用程序时询问用户。 – 2010-09-06 05:31:06

+0

你只需要知道特定的应用程序?或者你只需​​要知道每个应用程序? – 2010-09-06 05:39:47

+0

@thyrgle我想知道我的设备中安装的应用程序列表。如果可能,请使用应用程序图标和详细信息。高兴你认为这将是可能的吗? – 2011-09-07 15:44:36

回答

17

您不能检查任何应用程序,但实际上你可以检查其officialy分享他们的URL方案的应用。

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

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

如果此方法返回的是yes,则用户安装了Facebook应用程序。要打开以下应用程序,您需要拨打:

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

这将在Facebook应用程序上打开您的Facebook配置文件。

唉,不存在禁止在iOS任何其他应用程序的可能性,因为每个第三方软件被沙盒。

希望这是有帮助的, 帕维尔

+0

这是完全有益的。 +1 – Alan 2011-11-21 23:39:33

+1

就像一个警告,我见过其他注册了fb:// URI方案的应用程序。如果用户没有安装FB,但有另一个应用程序注册fb://作为他们的URI,那么其他应用程序将打开。 – dreadpirateryan 2012-01-25 21:46:14

+1

对我也有帮助。只是该方法被称为“URLWithString”。 – Oliver 2012-12-03 11:14:00

2

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

如前所述,这仅适用于应用程序的作品你做虽然,因为你将是一个编程等功能集成到您的应用程序。您无法检查其他人制作的应用程序的存在。

也没有公共API允许您禁用其他应用程序。另外,正如其他人所说,应用程序都是自己的沙箱。

顺便说一句...如果你想,因为他们与你竞争,以禁用这些应用程序......算了吧。可以并将遵循的法律含义并不漂亮。

+0

我正在开发一个应用程序,我需要找到已经安装在iPhone设备上的应用程序,例如Skype,facebook。我需要检查它。如果可能,请给我代码片段,否则请链接到解决方案。有没有可能。 如果这是可能的,那么如何禁用应用程序通知也...即(显示的消息要求用户的执法) 对我来说越狱是没有障​​碍....我需要做任何如何。那么是否有任何私人API? 在此先感谢...... – 2010-09-06 05:45:33

0

我不认为这是可能的,因为被沙箱化到您自己的应用程序的环境中。

而且我指的是在由您一般情况下,不应用程序(如BoltClock提到的),因为你提到了Facebook和Skype的应用程序,这是我想象的是不是你的。

0

我质疑你这样做的原因,特别是禁用其他应用程序。应用程序被沙盒装入自己的环境中。任何违反这个规定的内容都不会被接受进App Store。

+0

我正在开发一个应用程序,其中我需要找到已安装在iphone设备(如Skype,Facebook)中的应用程序。我需要检查它。如果可能,请给我代码片段,否则请链接到解决方案。有没有可能。 如果这是可能的,那么如何禁用应用程序通知也...即(显示的消息要求用户的执法) 对我来说越狱是没有障​​碍....我需要做任何如何。那么是否有任何私人API? 在此先感谢...... – 2010-09-06 05:45:10

相关问题