[UNDOCUMENTED]Avoir une liste des apps sur la machine client grace au caches LS

elfelf Membre
Ces 2 lignes de conne retourne un array qui contien les NSURL pour TOUTES les app installé sur le système, ou quelle soient.

Avantages:
-Bien plus rapide que un scan du disque: car ça utilise les caches de LaunchServices.
-ça retourne toute les apps, même si elle ne sont pas placée dans /Applications

Desavantage:
-Non-Documentée
-ça retourne toute les app, donc ça inclu aussi celle qui sont dans /System... Si vous utilisez cette méthode, il est conseillé de les filtrer et de les exclure

NSArray *urls;<br />_LSCopyAllApplicationURLs(&amp;urls);


Réponses

  • schlumschlum Membre
    14:42 modifié #2
    Ah oui 
    C'est rapide ?

    Sinon, pour avoir un dump complet de la base LaunchServices :
    /System/Library/Frameworks/ApplicationServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -dump
    


    (mais un peu long sur une machine avec beaucoup d'applications à  cause du "Checking data integrity...")
  • elfelf Membre
    14:42 modifié #3
    Ouaip ça m'a l'air bien plus rapide que de scanner selon mes tests.

    Et c'est normal vu que ça lis les caches...
  • schlumschlum Membre
    14:42 modifié #4
    "lsregister -dump" lit aussi les caches  :P
Connectez-vous ou Inscrivez-vous pour répondre.