Nach diesem iphonedevsdk.com Forenbeitrag verwendet Frenzapp zwei Methoden, um andere auf einem iOS-Gerät installierte Apps zu erkennen:
Welche "Kernel-Level-C-Funktion" benutzen sie? Wo ist es dokumentiert?
Danke an Vladamir und Stephen Darlington für das Kommentieren und Zeigen auf die wahrscheinlichste Antwort:
Richtig, obwohl die Prozessliste sehr begrenzt ist und voraussetzt, dass der Prozess tatsächlich im Hintergrund "läuft".
Der Schlüssel zur Entdeckung ist, dass die Prozessnamen groß genug sind (aber die Hintergrundverarbeitung kann nur so weit reichen) und URLhandler. Und nur wenige Firmen in der Welt (wenn das viele) außerhalb von Apple können das wirklich gut machen.
Und natürlich hat das Springboard ein Open-Socket-Protokoll, mit dem die App App (und möglicherweise andere Apps) abfragen können, ob eine App installiert ist oder nicht ... aber das ist viel schwieriger zu knacken.