Ich habe eine Mac-Anwendung mit Qt 5.3.2 entwickelt. Diese Anwendung behandelt Dateien mit einer bestimmten Erweiterung (z. B. .xyz
).Mac OS X Dateizuordnung funktioniert, aber Dateisymbol nicht geändert
Ich habe eine Icon-Datei mit dem Namen XYZ.icns erstellt und sie zu meinem App-Bundle Resource-Ordner hinzugefügt (MyApp.app/Contents/Resources/XYZ.icns
).
Ich habe auch die Info.plist-Datei des Pakets geändert, um die Dateizuordnung festzulegen. Ich habe diesen Eintrag hinzugefügt:
<key>CFBundleDocumentTypes</key>
<array>
<!-- Registered file accociation -->
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleTypeName</key>
<string>XYZ</string>
<key>CFBundleTypeExtensions</key>
<array>
<string>xyz</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>XYZ</string>
</dict>
<array>
Das Ergebnis: die Dateizuordnung (Doppelklick auf die Datei nicht meine Anwendung öffnen) gearbeitet hat jedoch das Symbol nicht ersetzt worden ist (immer noch das leere Dokumentsymbol angezeigt wird).
Gibt es etwas, das ich vermisst habe? Ich schaute mir andere Anwendungen an und es scheint nichts mehr zu geben als das, was ich getan habe.
EDIT: Ich habe noch ein paar Tests gemacht. Ich warf die Einführung Service-Daten mit diesem Befehl:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Versions/Current/Support/lsregister -dump
Im Ergebnis ich Ansprüche auf Datei, um den Dateityp finden mit dem Symbol Informationen:
...
--------------------------------------------------------------------------------
Container mount state: mounted
bundle id: 105396
...
path: /Applications/MyApp.app
name: MyApp
...
--------------------------------------------------------
claim id: 27628
name: XYZ
rank: Default
reqCaps:
roles: Editor
flags: relative-icon-path doc-type
icon: Contents/Resources/XYZ.icns
bindings: .xyz
--------------------------------------------------------------------------------
...
EDIT2: Nach einiger Zeit endlich hat es sich selbständig gemacht. Über Nacht gibt es ein OS-Update, das installiert wurde und ich musste den Computer auch herunterfahren (der Launch-Service hat wahrscheinlich selbst etwas aktualisiert). Ich würde meine Frage aktualisieren: Wie stelle ich sicher, dass Launch Service die zugehörigen Dateisymbole aktualisiert, wenn eine Anwendung installiert oder geändert wird?
http://www.tekrevue.com/tip/rebuild-launchservices-fix-duplicate-entries-os-xs-open-menu/ –
Hallo Sie gefunden die Ans für diese Frage? – Vijay
@vijay se bearbeiten 2. Es funktionierte auf eigene Faust, aber ich weiß nicht warum. – gfrigon