Abrufen einer Liste von Anwendungen, die einen Dateityp öffnen können

7

Ich versuche eine Liste von Anwendungen zu bekommen, die einen Dateityp öffnen können. Bis jetzt konnte ich den Namen einer einzelnen Anwendung mit NSWorkspace 's getInfoForFile:application:type: Methode erhalten.

Gibt es eine API, die ich aufrufen kann, um eine Liste von Anwendungen zu erhalten, die eine Datei öffnen können?

    
Bryan Kyle 22.12.2009, 22:06
quelle

2 Antworten

10

Ich glaube, dass Sie Launch Services verwenden müssen, um eine Liste zu erhalten. LSCopyApplicationURLsForURL "Sucht alle bekannten Anwendungen, die zum Öffnen eines durch URL angegebenen Elements geeignet sind."

Scheint, wenn Sie eine Datei-URL übergeben, sollten Sie Ihre (CFArrayRef) Liste von Anwendungen erhalten.

    
Joshua Nozzi 22.12.2009, 22:46
quelle
9

Zukünftig war ich daran interessiert, eine Liste von Anwendungen zu erhalten, die einen bestimmten Dokumenttyp öffnen können. Die akzeptierte Antwort zeigte in die richtige Richtung, war aber keine vollständige Lösung, da LSCopyApplicaionURLsForURL und sein Geschwister LSCopyAllRoleHandlersForContentType eine Bündelkennung zurückgeben, nicht die Anwendung selbst. Daher brauchte ich noch die Anwendung:

  • Pfad
  • Anzeigename; und
  • Symbol

Unten ist der Code, den ich verwendet habe, um alle diese Informationen abzurufen:

%Vor%     
Bryan Kyle 23.12.2009 17:33
quelle

Tags und Links