SamBo
SamBo

Reputation: 551

Can you find out what apps the user has installed?

Is there any way to determine if a user has a specific app installed, or even to count how many apps they have installed?

The information would be used to target information passed to the user.

Upvotes: 0

Views: 2560

Answers (4)

Mike D
Mike D

Reputation: 4946

Not on a stock phone. Jailbroken maybe, but I have not played with the jailbroken side of things.

You could try to open an app via a URL scheme. Using Twitter as an example, one of its URL schemes is twitter://user?screen_name=somename

You can check if you can open that URL:

NSURL *tURL = [NSURL URLWithString:@"twitter://user?screen_name=somename"];
if ( [[UIApplication sharedApplication] canOpenURL:tURL] )
   // if here, you can open twitter app

You can extrapolate from here if you want.

Upvotes: 5

lostInTransit
lostInTransit

Reputation: 70997

Yes and No. On iOS, there are a few methods which can be used, but they won't get you the entire list, only some of the apps. Daniel Amitay has a nice framework for this. You can find it here (iHasApp)

I have used it and it gets most of the apps, but as I said, not all. Daniel explains in his blog post what techniques you can use.

Upvotes: 1

WolfLink
WolfLink

Reputation: 3317

Short answer: No.

Long answer: there are ways to detect if certain apps that provide the capability are present. For example, the Facebook app (see this question). However, it is not possible to detect apps that do not support that kind of detection, and it is not possible to get a total count of apps (unless, of course, they only had detectable apps, but the likelihood of that is incredibly slim).

Upvotes: 1

Till
Till

Reputation: 27597

Yes if the apps in question are known to you as a developer of that feature and do implement custom URL schemas (which you also need to know). There is a service that tries to collect that information: handleopenurl.com

Upvotes: 1

Related Questions