J'essaie d'associer une extension de fichier personnalisée, disons .abc, à une application sur laquelle je travaille, de sorte que lorsque je double-clique sur un fichier avec cette extension spécifique, mon application se lance . Un fichier .abc est juste un fichier d'archive (.zip renommé en .abc) regroupant plusieurs fichiers .xml. Lorsque je charge un de ces fichiers .abc avec mon application, l'archive est extraite et les fichiers .xml sont analysés afin que je puisse définir des valeurs pour certaines variables dans mon code.Associer l'extension de fichier personnalisée à mon application
Si je comprends bien, il y a deux parties à cela.
- laisser OS X savent que l'extension .abc doit être associée à mon application
- la gestion du dossier dans mon application une fois qu'il est lancé
Pour l'instant, je vais avoir des problèmes avec la première partie. J'ai déjà lu quelques messages de débordement de pile traitant de ce sujet (comme here ou here) mais je ne peux pas comprendre comment ils arrivent avec le contenu de la valeur de chaîne pour la clé <LSItemContentTypes>
(j'ai essayé abc mais ça ne marche pas t travail) et pour la clé <UTTypeIdentifier>
.
Jusqu'à présent, cela est le code que je l'ai ajouté à mon dossier info.plist
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFile</key>
<array>
<string>myicon.icns</string>
</array>
<key>CFBundleTypeName</key>
<string>My Custom Project File</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>LSItemContentTypes</key>
<array>
<string>don't.know.what.to.put.here.abc</string>
</array>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string> <!--not sure about that value-->
</array>
<key>UTTypeDescription</key>
<string>My Custom Project File</string>
<key>UTTypeIdentifier</key>
<string>don't.know.what.to.put.here.abc</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<string>abc</string>
<key>public.mime-type</key>
<string>application/octet-stream</string> <!--not sure about that value-->
</dict>
</dict>
</array>
Aussi, est-UTTypeConformsTo
public.data ok dans mon cas? Depuis l'extension de fichier personnalisée représente une archive contenant des fichiers XML?
Si quelqu'un pouvait me aider :)
Merci
N'hésitez pas à répondre à votre propre question: D – robertklep
Je pensais que l'édition était la voie à suivre! – nmud
Il est facile d'oublier une réponse qui est postée dans la question (IMHO). – robertklep