La seule façon dont j'ai réussi à obtenir ce travail est avec une application basée sur des documents (que cette application ne est pas). Dans mon application non documentée, j'ai défini les types de documents pris en charge (dans l'onglet Propriétés de la fenêtre Infos cible) et mon AppDelegate implémente application:openFile:
et application:openFiles:
. Cela permet de déposer des fichiers sur l'icône Dock de l'application lorsqu'elle a déjà été lancée, mais pas sur son icône dans le Finder (lancé ou non). Qu'est-ce que je rate?Comment lancer une application Cocoa non basée sur un document en y déposant des fichiers?
Mise à jour
Comme demandé, mon tableau Types de documents:
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>nsf</string>
<string>nsfe</string>
</array>
<key>CFBundleTypeName</key>
<string>NSF Soundtrack</string>
<key>CFBundleTypeRole</key>
<string>None</string>
<key>LSTypeIsPackage</key>
<false/>
<key>NSPersistentStoreTypeKey</key>
<string>InMemory</string>
</dict>
</array>
Veuillez modifier votre question pour inclure votre tableau de types de documents et, si vous utilisez des UTI, vos tableaux d'importation et/ou d'exportation UTI. –
Pourquoi ne pas remplacer 'CFBundleTypeRole' par' Editor'? – Yuji
Gah, mon application n'est ni une 'Viewer' ou' Editor' (elle envoie les fichiers à un autre périphérique sur le réseau local) donc j'ai choisi 'None' pour' CFBundleTypeRole'. En le modifiant à l'une des autres options, cela fonctionne comme prévu. –