Liste toutes les applications installées sur iPhone par programme?

Je dois énumérer toutes les applications installées sur l'iPhone avec l'aide du encoding. J'utilise un iPhone jailbreaké. J'ai utilisé l'API ihasapp, mais elle ne me montre pas la list complète de toutes les applications installées. S'il vous plaît aidez-moi avec le code.

J'utilise moi-même la bibliothèque AppList pour get une list de toutes les applications installées. Il utilise des frameworks privés donc c'est aussi jailbreak-only. Consultez-le sur https://github.com/rpesortingch/AppList .

Mise à jour: @Nate est correct à ce sujet déjà demandé et répondu. Découvrez: Obtenez la list de toutes les applications installées

J'ai eu une list de toutes les applications installées sur mon iPhone. Il utilise un cadre privé mais ce n'est pas une prison cassée. Lookout ci-dessous morceau de code.

#include <objc/runtime.h> Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace"); SEL selector=NSSelectorFromSsortingng(@"defaultWorkspace"); NSObject* workspace = [LSApplicationWorkspace_class performSelector:selector]; SEL selectorALL = NSSelectorFromSsortingng(@"allApplications"); NSLog(@"apps: %@", [workspace performSelector:selectorALL]); 

J'ai essayé ce code et ça marche bien sur iOS9.

Il existe une API privée SBSCopyApplicationDisplayIdentifiers

C'est la signature qui suit

CFArrayRef SBSCopyApplicationDisplayIdentifiers (bool onlyActive, bool debuggable);

Si vous liez au framework SpringboardServices et l'utilisez, il renverra la list des applications installées.

Mise à jour 1

Voici un exemple d'utilisation copié d' ici

 CFArrayRef SBSCopyApplicationDisplayIdentifiers(bool onlyActive, bool debuggable); int main() { char buf[1024]; CFArrayRef ary = SBSCopyApplicationDisplayIdentifiers(false, false); for(CFIndex i = 0; i < CFArrayGetCount(ary); i++) { CFSsortingngGetCSsortingng(CFArrayGetValueAtIndex(ary, i),buf, sizeof(buf), kCFSsortingngEncodingUTF8); printf("%s\n", buf); } return 0; } 

Ne pas oublier de lier au framework pravite SpringboardServices.

Essaye ça.

 NSArray *appList = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:@"/Applications" error:nil]; NSLog(@"%@",appList);