0

I have been searching around to see if it was possible to check for already installed apps on an iOS device using JavaScript or another web language.

I'm aware of ways to do this natively in Objective-C but due to the nature of this project this detection must be done using web technology. This app I am attempting to detect does not have a specific URL scheme like snapchat:// so this answer is of no use in my situation.

I have also seen native projects use Apple private APIs like this one to detect all the installed apps on that device but Apple has since then closed off that private API disallowing any such detection. If such a thing was still possible it doesn't fit my criteria of web-based detection of installed apps.

Colin
  • 865
  • 1
  • 6
  • 23
  • 1
    You can't do that. – SLaks Nov 17 '17 at 17:36
  • @SLaks If you are 100%sure of this I will close my question. – Colin Nov 17 '17 at 17:43
  • As you say it' doesn't have a URL scheme, that means you don't even have control over the app you're trying to detect, right? – jcaron Nov 17 '17 at 18:18
  • @jcaron yes sir that is correct – Colin Nov 17 '17 at 18:21
  • 1
    Completely agree with the others. Apple is very strongly against any kind of sniffing of installed apps for privacy reasons. Even native apps are limited in terms of how many different URL schemes they can try to open. – jcaron Nov 17 '17 at 18:24

1 Answers1

2

If an application doesn't handle a unique URL scheme, there isn't even any way to detect it from a native iOS application. There's certainly no way to do that from within the web browser.

  • Well technically you can do an if else on a URL scheme but that's not what it's meant for and inefficient. There are also private APIs that allow such a thing but have been since closed off in iOS 11. – Colin Nov 17 '17 at 17:47
  • By "that", I mean detecting an app that doesn't handle a unique URL scheme. –  Nov 17 '17 at 17:57
  • Oh okay, understood. If no one has any further insight on this I will have to accept your answer. – Colin Nov 17 '17 at 17:58