Ottenere l’elenco di tutte le applicazioni installate in ios 8

Come ottenere la lista di tutte le Applicazioni installate sul dispositivo iPhone a livello di codice in iOS 8.

Se qualcuno sa la soluzione utilizzando privata Api(ma il dispositivo non jailbroken), poi il suo bene.

So che è possibile utilizzare iTunes API di Ricerca, ma si dà solo le applicazioni che sono installate da iTunes. Ho bisogno di tutte le applicazioni installate sul dispositivo, se è da iTunes o sviluppati dagli utenti o le applicazioni di sistema.

 

2 Replies
  1. 21

    provare questo.
    funziona,l’ho testato.

    #include <objc/runtime.h>
    Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace");
    NSObject* workspace = [LSApplicationWorkspace_class performSelector:@selector(defaultWorkspace)];
    NSLog(@"apps: %@", [workspace performSelector:@selector(allApplications)]);
    • C’è un modo di fare questo a fornire un elenco di app identificatori? Come un array, o qualcosa di simile?
    • Ho visto questo lavorato 7.1 troppo. È questo utilizzando qualsiasi API private o pubbliche???
    • Per quanto ne so non c’è un modo si può ottenere solo bundle id dalla soluzione di cui sopra 🙂
    • Bro, questo è davvero un privato API, potrebbe essere utilizzato solo in una demo o di un’impresa di distribuzione.
    • C’è qualche modo pubblico per ottenere la disponibilità di un elenco di applicazioni? Ho provato iHasApp ma non riuscivo a trovare tutti i miei lista c’.
    • il “iHasApp” è il “App Store al sicuro” modo di rilevare le applicazioni installate, e se non riesci a trovare tutto l’elenco, forse si potrebbe “curare il proprio set di dati(nel suo github readme)”. Per quanto ne so, iHasApp usato 2 modi per ottenere installato elenco di applicazioni: il primo è “canOpenUrl()”,il che significa che le applicazioni che hanno registrato un URL personalizzato sarà trovato; il secondo è il controllo del processo “nome” di applicazioni in esecuzione, il che significa che le applicazioni che non usate spesso non si trova. Questi vogliono infomations potrebbe essere utile 🙂
    • Penso che Whatsapp è una delle applicazioni più frequenti, ma iHasApp non riconoscerlo. Il problema probabilmente è che la lista è piuttosto vecchio.
    • Temo di no,in realtà iHasApp aggiornata la lista del regime di 2 mesi fa(github.com/danielamitay/iHasApp/blob/master/iHasApp/…), è possibile controllare questa pagina e c’è whatsapp…quindi…c’è qualche possibilità che si può utilizzare iHasApp libreria in modo sbagliato?
    • Sto utilizzando il codice utilizzato nel loro esempio, e con successo sto stampando il dizionario con for(int i = 0; i < appDictionaries.count; i++){ NSDictionary *currentDict = appDictionaries[i]; NSLog(@”%@”, [currentDict objectForKey:@”codice bundleid”]); }
    • Ok….ho trovato il problema che ho avuto. Il problema era che stavo usando la versione 2.2 di iHasApp da CocoaPods, ma che era una vecchia versione. Appena aggiornato con il maestro e riconosciuto whatsapp aswel. Grazie mille.
    • Sono riuscito a eseguire esattamente le attività di cui avevo bisogno, utilizzando le strutture private (ottenere la lista dei bundle id & ottenere il percorso dei dati & condivisa locaton per ciascuno) , grazie per l’aiuto
    • Ciao ragazzi, Che dire iOS9? C’è un modo per ottenere l’elenco delle installato o applicazioni in esecuzione?
    • L’uomo,che si poteva guardare ios-runtime-headers link,se ci sono ancora un LSApplicationWorkspace classe, allora si può utilizzare la soluzione di cui sopra per ottenere le applicazioni installate nello stesso modo. E, se si desidera di ottenere le applicazioni in esecuzione…conosco un vecchio modo, ma non ho provato su iOS9, mi puoi dare la tua mail e ti mando la principale funzione è:D
    • [email protected]. thx a lot
    • Ho fatto rispondere alle e-mail. Hai visto la mia lettera?
    • Il frammento non sembra funzionare su un jailbroken iOS 8.4 telefono. Che snippet esattamente stampa null
    • Questo è privato api e il suo utilizzo è causa di app rifiuto da parte di apple. Il loro è il modo di apple di recuperare la lista delle app installate.
    • Fa ancora lavorare su iOS 10?
    • non più
    • soluzione con “LSApplicationWorkspace” non lavoro da ios11 in poi

  2. 6

    Ho riscritto sopra il codice per Xcode 7.3. Funziona perfettamente su iOS9.

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

Lascia un commento