Ho sviluppato un'applicazione Mac con Qt 5.3.2. Questa applicazione gestisce i file con estensione specifica (diciamo .xyz
).L'associazione file Mac OS X funziona, ma l'icona del file non è stata modificata
Ho creato un file di icona denominato XYZ.icns e l'ho aggiunto alla cartella Risorse del pacchetto di app (MyApp.app/Contents/Resources/XYZ.icns
).
Ho anche modificato il file Info.plist del pacchetto per impostare l'associazione file. Ho aggiunto questa entrata
<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>
Il risultato: il file associazione ha lavorato (doppio clic sul file si apre la mia domanda), tuttavia, l'icona non è stato sostituito (ancora visualizzando l'icona documento vuoto).
C'è qualcosa che mi è mancato? Ho esaminato altre applicazioni come esempi e non sembra esserci nulla di più di quello che ho fatto.
MODIFICA: Ho eseguito altri test. Buttai i dati del servizio di lancio con questo comando:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Versions/Current/Support/lsregister -dump
nel risultato, posso trovare i crediti verso il file del tipo di file tra cui l'icona informazioni:
...
--------------------------------------------------------------------------------
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: Dopo un po 'di tempo , finalmente ha potuto lavorare da solo. Durante la notte, c'è un aggiornamento del sistema operativo che è stato installato e ho anche dovuto spegnere il computer (il servizio di avvio probabilmente aggiornava qualcosa da solo). Vorrei aggiornare la mia domanda a: Come assicurarsi che il servizio di lancio aggiorni le icone di file associate quando un'applicazione viene installata o modificata?
http://www.tekrevue.com/tip/rebuild-launchservices-fix-duplicate-entries-os-xs-open-menu/ –
Ciao Hai trovato l'Ans per questa domanda? – Vijay
@vijay se edit 2. Ha funzionato da solo ma non so perché. – gfrigon