2010-09-30 32 views
8

Mon application gère avec des fichiers de type *.mndl qui n'est pas plus d'un *.plist personnalisé. Jusqu'à présent, j'ai utilisé *.plist fichiers, mais maintenant je veux associer l'extension et être en mesure d'ouvrir les fichiers *.mndl à partir de toute autre application, je me suis rendu compte que renommer file.plist à file.mndl ne fonctionne pas. (Par conséquent, je ne sais même pas si je l'ai fait correctement l'association d'extension et chose exportation)Créer ma propre extension de fichier basée sur plist

J'ai envoyé à moi-même un fichier file.mndl de l'ordinateur et lors de la réception à mail.app je suis arrivé file.mndl.plist (Il a été automatiquement rebaptisées , ceci est arrivé lors de la réinitialisation de mon iPad)

Comment puis-je créer mes propres fichiers mndl tout en étant capable de lire son contenu en utilisant +dictionaryWithContentsOfFile: de la classe NSDictionary?

Même si je travaille avec iOS, je crois que ce genre de choses a été porté à partir de MacOS et Cocoa. Les développeurs de Cocoa pourraient aussi le savoir.

Vos commentaires/réponses sont appréciés.

Merci

RÉPONDU: Juste à des fins d'achèvement Ceci est l'ajout que je fis à mon info.plist:

<key>UTExportedTypeDeclarations</key> 
    <array> 
     <dict> 
      <key>UTTypeConformsTo</key> 
      <array> 
       <string>public.data</string> 
      </array> 
      <key>UTTypeDescription</key> 
      <string>Mandala Chart File</string> 
      <key>UTTypeIdentifier</key> 
      <string>com.nacho4d.Accordion.mndl</string> 
      <key>UTTypeTagSpecification</key> 
      <dict> 
       <key>public.filename-extension</key> 
       <string>mndl</string> 
      </dict> 
     </dict> 
    </array> 
    <key>CFBundleDocumentTypes</key> 
    <array> 
     <dict> 
      <key>CFBundleTypeIconFiles</key> 
      <array> 
       <string>Document320Icon.png</string> 
       <string>Document64Icon.png</string> 
      </array> 
      <key>CFBundleTypeName</key> 
      <string>Mandala Chart File</string> 
      <key>CFBundleTypeRole</key> 
      <string>Editor</string> 
      <key>LSHandlerRank</key> 
      <string>Owner</string> 
      <key>LSItemContentTypes</key> 
      <array> 
       <string>com.nacho4d.Accordion.mndl</string> 
      </array> 
     </dict> 
    </array> 
+0

Les clés 'UTExportedTypeDeclarations' et' CFBundleDocumentTypes' sont-elles toutes les deux nécessaires pour cela? – Lealo

Répondre

8

au moins pour une application Cocoa (bureau), vous voudriez ajoutez les informations suivantes à Info.plist de votre application.

http://www.markdouma.com/developer/nacho.plist

De toute évidence, vous devez modifier l'identifiant de type uniforme à quelque chose approprié. (Je fais habituellement com.markdouma.something, puisque c'est mon site Web).

Notez que vous souhaitez uniquement spécifier une entrée pour NSDocumentClass si vous envisagez d'utiliser l'architecture NSDocument de Cocoa en créant une sous-classe NSDocument pour gérer le chargement des fichiers. Sinon, vous pouvez toujours tout mettre en œuvre les éléments suivants < NSApplicationDelegate> (lire que le protocole délégué d'application) Méthode:

- (void)application:(NSApplication *)sender openFiles:(NSArray *)filenames; 

Cela vous donnera un NSArray de NSStrings représentant les chemins POSIX aux fichiers double-cliquez sur l'utilisateur dans le Finder (ou traîné à l'icône de l'application, etc.)

Si vous voulez aller la route NSDocument, vous pouvez remplacer la méthode suivante de NSDocument

- (BOOL)readFromURL:(NSURL *)url ofType:(NSString *)type error:(NSError **)outError; 

et créez votre dictionnaire avec [[NSDictionary dictionaryWithContentsOfFile: [url path]] conserve];

Hope this helps ...

+0

Merci, maintenant *.Les fichiers mndl sont correctement associés à mon application tant qu'ils sont * .mndl. Mais je me demande si vous avez des idées sur le problème de renommer automatiquement? (fichier.mndl à fichier.mndl.plist) Cela me tue! – nacho4d

+0

Peu importe ... J'essaye à nouveau et ça ne se produit plus. Merci pour l'exemple Plist. – nacho4d

3

Finalement, je trouve ce qui pourrait être utilisé comme référence aussi: Je trouve cela sur le cache de Google et il montre comment ajouter plusieurs extensions avec des propriétés différentes :)

<key>UTImportedTypeDeclarations</key> 
<array> 
    <dict> 
    <key>UTTypeConformsTo</key> 
    <string>public.audio</string> 
    <key>UTTypeIdentifier</key> 
    <string>public.mp3</string> 
    <key>UTTypeDescription</key> 
    <string>MP3 audio</string> 
    <key>UTTypeTagSpecification</key> 
    <dict> 
    <key>com.apple.ostype</key> 
    <array> 
    <string>MPG3</string> 
    <string>mpg3</string> 
    <string>Mp3 </string> 
    <string>MP3 </string> 
    <string>mp3!</string> 
    <string>MP3!</string> 
    </array> 
    <key>public.mime-type</key> 
    <array> 
    <string>audio/mpeg</string> 
    <string>audio/mpeg3</string> 
    <string>audio/mpg</string> 
    <string>audio/mp3</string> 
    <string>audio/x-mpeg</string> 
    <string>audio/x-mpeg3</string> 
    <string>audio/x-mpg</string> 
    <string>audio/x-mp3</string> 
    </array> 
    <key>public.filename-extension</key> 
    <string>mp3</string> 
    </dict> 
    </dict> 

    <dict> 
    <key>UTTypeConformsTo</key> 
    <array> 
    <string>public.audio</string> 
    </array> 
    <key>UTTypeIdentifier</key> 
    <string>public.mpeg-4-audio</string> 
    <key>UTTypeDescription</key> 
    <string>MPEG-4 audio</string> 
    <key>UTTypeTagSpecification</key> 
    <dict> 
    <key>com.apple.ostype</key> 
    <array> 
    <string>M4A </string> 
    </array> 
    <key>public.mime-type</key> 
    <array> 
    <string>audio/mp4</string> 
    </array> 
    <key>public.filename-extension</key> 
    <array> 
    <string>m4a</string> 
    </array> 
    </dict> 
    </dict> 

    <dict> 
    <key>UTTypeConformsTo</key> 
    <string>public.movie</string> 
    <key>UTTypeIdentifier</key> 
    <string>public.mpeg-4</string> 
    <key>UTTypeDescription</key> 
    <string>MPEG-4 movie</string> 
    <key>UTTypeTagSpecification</key> 
    <dict> 
    <key>com.apple.ostype</key> 
    <array> 
    <string>mpg4</string> 
    <string>MP4 </string> 
    </array> 
    <key>public.mime-type</key> 
    <array> 
    <string>video/mp4</string> 
    <string>video/mp4v-es</string> 
    </array> 
    <key>public.filename-extension</key> 
    <array> 
    <string>mp4</string> 
    </array> 
    </dict> 
    </dict> 

    <dict> 
    <key>UTTypeConformsTo</key> 
    <string>public.movie</string> 
    <key>UTTypeIdentifier</key> 
    <string>public.mpeg</string> 
    <key>UTTypeDescription</key> 
    <string>MPEG movie</string> 
    <key>UTTypeTagSpecification</key> 
    <dict> 
    <key>com.apple.ostype</key> 
    <array> 
    <string>MPG </string> 
    <string>MPEG</string> 
    </array> 
    <key>public.mime-type</key> 
    <array> 
    <string>video/mpeg</string> 
    <string>video/mpg</string> 
    <string>video/x-mpeg</string> 
    <string>video/x-mpg</string> 
    </array> 
    <key>public.filename-extension</key> 
    <array> 
    <string>mpg</string> 
    <string>mpeg</string> 
    <string>mpe</string> 
    <string>m75</string> 
    <string>m15</string> 
    </array> 
    </dict> 
    </dict> 

    <dict> 
    <key>UTTypeConformsTo</key> 
    <string>public.audiovisual-content</string> 
    <key>UTTypeIdentifier</key> 
    <string>public.audio</string> 
    <key>UTTypeDescription</key> 
    <string>audio</string> 
    </dict> 

    <dict> 
    <key>UTTypeConformsTo</key> 
    <string>public.movie</string> 
    <key>UTTypeIdentifier</key> 
    <string>public.video</string> 
    <key>UTTypeDescription</key> 
    <string>video</string> 
    </dict> 

    <dict> 
    <key>UTTypeConformsTo</key> 
    <string>public.audiovisual-content</string> 
    <key>UTTypeIdentifier</key> 
    <string>public.movie</string> 
    <key>UTTypeDescription</key> 
    <string>movie</string> 
    </dict> 

    <dict> 
    <key>UTTypeConformsTo</key> 
    <string>public.image</string> 
    <key>UTTypeIdentifier</key> 
    <string>com.microsoft.bmp</string> 
    <key>UTTypeDescription</key> 
    <string>Windows bitmap image</string> 
    <key>UTTypeTagSpecification</key> 
    <dict> 
    <key>com.apple.ostype</key> 
    <array> 
    <string>BMP </string> 
    <string>BMPf</string> 
    </array> 
    <key>public.mime-type</key> 
    <string>image/bmp</string> 
    <key>public.filename-extension</key> 
    <string>bmp</string> 
    </dict> 
    </dict> 

    <dict> 
    <key>UTTypeConformsTo</key> 
    <array> 
    <string>public.data</string> 
    <string>public.content</string> 
    </array> 
    <key>UTTypeIdentifier</key> 
    <string>public.audiovisual-content</string> 
    <key>UTTypeDescription</key> 
    <string>audiovisual content</string> 
    </dict> 

    <dict> 
    <key>UTTypeConformsTo</key> 
    <string>public.image</string> 
    <key>UTTypeIdentifier</key> 
    <string>public.png</string> 
    <key>UTTypeDescription</key> 
    <string>Portable Network Graphics image</string> 
    <key>UTTypeTagSpecification</key> 
    <dict> 
    <key>com.apple.ostype</key> 
    <string>PNGf</string> 
    <key>public.mime-type</key> 
    <string>image/png</string> 
    <key>public.filename-extension</key> 
    <string>png</string> 
    <key>com.apple.nspboard-type</key> 
    <string>Apple PNG pasteboard type</string> 
    </dict> 
    </dict> 

    <dict> 
    <key>UTTypeConformsTo</key> 
    <string>public.image</string> 
    <key>UTTypeIdentifier</key> 
    <string>com.compuserve.gif</string> 
    <key>UTTypeDescription</key> 
    <string>Graphics Interchange Format (GIF)</string> 
    <key>UTTypeTagSpecification</key> 
    <dict> 
    <key>com.apple.ostype</key> 
    <string>GIFf</string> 
    <key>public.mime-type</key> 
    <string>image/gif</string> 
    <key>public.filename-extension</key> 
    <string>gif</string> 
    </dict> 
    </dict> 

    <dict> 
    <key>UTTypeConformsTo</key> 
    <string>public.image</string> 
    <key>UTTypeIdentifier</key> 
    <string>public.tiff</string> 
    <key>UTTypeDescription</key> 
    <string>TIFF image</string> 
    <key>UTTypeTagSpecification</key> 
    <dict> 
    <key>com.apple.ostype</key> 
    <string>TIFF</string> 
    <key>public.mime-type</key> 
    <string>image/tiff</string> 
    <key>public.filename-extension</key> 
    <array> 
    <string>tiff</string> 
    <string>tif</string> 
    </array> 
    <key>com.apple.nspboard-type</key> 
    <array> 
    <string>NeXT TIFF v4.0 pasteboard type</string> 
    <string>NSTIFFPboardType</string> 
    </array> 
    </dict> 
    </dict> 

    <dict> 
    <key>UTTypeConformsTo</key> 
    <string>public.image</string> 
    <key>UTTypeIdentifier</key> 
    <string>public.jpeg-2000</string> 
    <key>UTTypeDescription</key> 
    <string>JPEG 2000 image</string> 
    <key>UTTypeTagSpecification</key> 
    <dict> 
    <key>com.apple.ostype</key> 
    <string>jp2 </string> 
    <key>public.mime-type</key> 
    <string>image/jp2</string> 
    <key>public.filename-extension</key> 
    <array> 
    <string>jp2</string> 
    <string>jpf</string> 
    <string>jpx</string> 
    <string>j2k</string> 
    <string>j2c</string> 
    </array> 
    </dict> 
    </dict> 

    <dict> 
    <key>UTTypeConformsTo</key> 
    <string>public.image</string> 
    <key>UTTypeIdentifier</key> 
    <string>public.jpeg</string> 
    <key>UTTypeDescription</key> 
    <string>JPEG image</string> 
    <key>UTTypeTagSpecification</key> 
    <dict> 
    <key>com.apple.ostype</key> 
    <string>JPEG</string> 
    <key>public.mime-type</key> 
    <array> 
    <string>image/jpeg</string> 
    <string>image/jpg</string> 
    </array> 
    <key>public.filename-extension</key> 
    <array> 
    <string>jpeg</string> 
    <string>jpg</string> 
    <string>jpe</string> 
    </array> 
    </dict> 
    </dict> 

    <dict> 
    <key>UTTypeConformsTo</key> 
    <array> 
    <string>public.data</string> 
    <string>public.content</string> 
    </array> 
    <key>UTTypeIdentifier</key> 
    <string>public.image</string> 
    <key>UTTypeDescription</key> 
    <string>image</string> 
    </dict> 

    <dict> 
    <key>UTTypeConformsTo</key> 
    <array> 
    <string>public.data</string> 
    <string>public.composite-content</string> 
    </array> 
    <key>UTTypeIdentifier</key> 
    <string>com.apple.webarchive</string> 
    <key>UTTypeDescription</key> 
    <string>web archive</string> 
    <key>UTTypeTagSpecification</key> 
    <dict> 
    <key>com.apple.ostype</key> 
    <array> 
    <string>weba</string> 
    </array> 
    <key>public.mime-type</key> 
    <array> 
    <string>application/x-webarchive</string> 
    </array> 
    <key>public.filename-extension</key> 
    <array> 
    <string>webarchive</string> 
    </array> 
    <key>com.apple.nspboard-type</key> 
    <array> 
    <string>Apple Web Archive pasteboard type</string> 
    </array> 
    </dict> 
    </dict> 

    <dict> 
    <key>UTTypeConformsTo</key> 
    <array> 
    <string>public.data</string> 
    <string>public.composite-content</string> 
    </array> 
    <key>UTTypeIdentifier</key> 
    <string>com.adobe.pdf</string> 
    <key>UTTypeDescription</key> 
    <string>Portable Document Format (PDF)</string> 
    <key>UTTypeTagSpecification</key> 
    <dict> 
    <key>com.apple.ostype</key> 
    <string>PDF </string> 
    <key>public.mime-type</key> 
    <string>application/pdf</string> 
    <key>public.filename-extension</key> 
    <string>pdf</string> 
    <key>com.apple.nspboard-type</key> 
    <string>Apple PDF pasteboard type</string> 
    </dict> 
    </dict> 

    <dict> 
    <key>UTTypeConformsTo</key> 
    <string>public.text</string> 
    <key>UTTypeIdentifier</key> 
    <string>public.html</string> 
    <key>UTTypeDescription</key> 
    <string>HTML text</string> 
    <key>UTTypeTagSpecification</key> 
    <dict> 
    <key>com.apple.ostype</key> 
    <string>HTML</string> 
    <key>public.mime-type</key> 
    <string>text/html</string> 
    <key>public.filename-extension</key> 
    <array> 
    <string>html</string> 
    <string>htm</string> 
    <string>shtml</string> 
    <string>shtm</string> 
    </array> 
    <key>com.apple.nspboard-type</key> 
    <string>Apple HTML pasteboard type</string> 
    </dict> 
    </dict> 

    <dict> 
    <key>UTTypeConformsTo</key> 
    <string>public.plain-text</string> 
    <key>UTTypeIdentifier</key> 
    <string>public.utf16-plain-text</string> 
    <key>UTTypeTagSpecification</key> 
    <dict> 
    <key>com.apple.ostype</key> 
    <string>utxt</string> 
    </dict> 
    </dict> 

    <dict> 
    <key>UTTypeConformsTo</key> 
    <string>public.plain-text</string> 
    <key>UTTypeIdentifier</key> 
    <string>public.utf16-external-plain-text</string> 
    <key>UTTypeTagSpecification</key> 
    <dict> 
    <key>com.apple.ostype</key> 
    <string>ut16</string> 
    </dict> 
    </dict> 

    <dict> 
    <key>UTTypeConformsTo</key> 
    <string>public.plain-text</string> 
    <key>UTTypeIdentifier</key> 
    <string>public.utf8-plain-text</string> 
    <key>UTTypeTagSpecification</key> 
    <dict> 
    <key>com.apple.ostype</key> 
    <string>utf8</string> 
    <key>com.apple.nspboard-type</key> 
    <string>NSStringPboardType</string> 
    </dict> 
    </dict> 

    <dict> 
    <key>UTTypeConformsTo</key> 
    <string>public.text</string> 
    <key>UTTypeIdentifier</key> 
    <string>public.plain-text</string> 
    <key>UTTypeTagSpecification</key> 
    <dict> 
    <key>public.mime-type</key> 
    <string>text/plain</string> 
    <key>public.filename-extension</key> 
    <array> 
    <string>txt</string> 
    <string>text</string> 
    </array> 
    </dict> 
    </dict> 

    <dict> 
    <key>UTTypeConformsTo</key> 
    <array> 
    <string>public.data</string> 
    <string>public.content</string> 
    </array> 
    <key>UTTypeIdentifier</key> 
    <string>public.text</string> 
    <key>UTTypeDescription</key> 
    <string>text</string> 
    </dict> 

</array> 



<key>CFBundleDocumentTypes</key> 
<array> 
    <dict> 
    <key>CFBundleTypeExtensions</key> 
    <array> 
    <string>mp3</string> 
    </array> 
    <key>CFBundleTypeMIMETypes</key> 
    <array> 
    <string>audio/mpeg</string> 
    <string>audio/mpeg3</string> 
    <string>audio/mpg</string> 
    <string>audio/mp3</string> 
    <string>audio/x-mpeg</string> 
    <string>audio/x-mpeg3</string> 
    <string>audio/x-mpg</string> 
    <string>audio/x-mp3</string> 
    </array> 
    <key>CFBundleTypeOSTypes</key> 
    <array> 
    <string>MPG3</string> 
    <string>mpg3</string> 
    <string>Mp3 </string> 
    <string>MP3 </string> 
    <string>mp3!</string> 
    <string>MP3!</string> 
    </array> 
    <key>LSTypeIsPackage</key> 
    <false /> 
    <key>NSExportableAs</key> 
    <array> 
    </array> 
    <key>CFBundleTypeName</key> 
    <string>MP3 audio</string> 
    <key>LSItemContentTypes</key> 
    <array> 
    <string>public.mp3</string> 
    </array> 
    </dict> 

    <dict> 
    <key>CFBundleTypeExtensions</key> 
    <array> 
    <string>m4a</string> 
    </array> 
    <key>CFBundleTypeMIMETypes</key> 
    <array> 
    <string>audio/mp4</string> 
    </array> 
    <key>CFBundleTypeOSTypes</key> 
    <array> 
    <string>M4A </string> 
    </array> 
    <key>LSTypeIsPackage</key> 
    <false /> 
    <key>NSExportableAs</key> 
    <array> 
    </array> 
    <key>CFBundleTypeName</key> 
    <string>MPEG-4 audio</string> 
    <key>LSItemContentTypes</key> 
    <array> 
    <string>public.mpeg-4-audio</string> 
    </array> 
    </dict> 

    <dict> 
    <key>LSTypeIsPackage</key> 
    <false /> 
    <key>NSExportableAs</key> 
    <array> 
    </array> 
    <key>CFBundleTypeName</key> 
    <string>audio</string> 
    <key>LSItemContentTypes</key> 
    <array> 
    <string>public.audio</string> 
    </array> 
    </dict> 

    <dict> 
    <key>CFBundleTypeExtensions</key> 
    <array> 
    <string>bmp</string> 
    </array> 
    <key>CFBundleTypeMIMETypes</key> 
    <array> 
    <string>image/bmp</string> 
    </array> 
    <key>CFBundleTypeOSTypes</key> 
    <array> 
    <string>BMP </string> 
    <string>BMPf</string> 
    </array> 
    <key>LSTypeIsPackage</key> 
    <false /> 
    <key>NSExportableAs</key> 
    <array> 
    </array> 
    <key>CFBundleTypeName</key> 
    <string>Windows bitmap image</string> 
    <key>LSItemContentTypes</key> 
    <array> 
    <string>com.microsoft.bmp</string> 
    </array> 
    </dict> 

    <dict> 
    <key>CFBundleTypeExtensions</key> 
    <array> 
    <string>png</string> 
    </array> 
    <key>CFBundleTypeMIMETypes</key> 
    <array> 
    <string>image/png</string> 
    </array> 
    <key>CFBundleTypeOSTypes</key> 
    <array> 
    <string>PNGf</string> 
    </array> 
    <key>LSTypeIsPackage</key> 
    <false /> 
    <key>NSExportableAs</key> 
    <array> 
    </array> 
    <key>CFBundleTypeName</key> 
    <string>Portable Network Graphics image</string> 
    <key>LSItemContentTypes</key> 
    <array> 
    <string>public.png</string> 
    </array> 
    </dict> 

    <dict> 
    <key>CFBundleTypeExtensions</key> 
    <array> 
    <string>gif</string> 
    </array> 
    <key>CFBundleTypeMIMETypes</key> 
    <array> 
    <string>image/gif</string> 
    </array> 
    <key>CFBundleTypeOSTypes</key> 
    <array> 
    <string>GIFf</string> 
    </array> 
    <key>LSTypeIsPackage</key> 
    <false /> 
    <key>NSExportableAs</key> 
    <array> 
    </array> 
    <key>CFBundleTypeName</key> 
    <string>Graphics Interchange Format (GIF)</string> 
    <key>LSItemContentTypes</key> 
    <array> 
    <string>com.compuserve.gif</string> 
    </array> 
    </dict> 

    <dict> 
    <key>CFBundleTypeExtensions</key> 
    <array> 
    <string>tiff</string> 
    <string>tif</string> 
    </array> 
    <key>CFBundleTypeMIMETypes</key> 
    <array> 
    <string>image/tiff</string> 
    </array> 
    <key>CFBundleTypeOSTypes</key> 
    <array> 
    <string>TIFF</string> 
    </array> 
    <key>LSTypeIsPackage</key> 
    <false /> 
    <key>NSExportableAs</key> 
    <array> 
    </array> 
    <key>CFBundleTypeName</key> 
    <string>TIFF image</string> 
    <key>LSItemContentTypes</key> 
    <array> 
    <string>public.tiff</string> 
    </array> 
    </dict> 

    <dict> 
    <key>CFBundleTypeExtensions</key> 
    <array> 
    <string>jp2</string> 
    <string>jpf</string> 
    <string>jpx</string> 
    <string>j2k</string> 
    <string>j2c</string> 
    </array> 
    <key>CFBundleTypeMIMETypes</key> 
    <array> 
    <string>image/jp2</string> 
    </array> 
    <key>CFBundleTypeOSTypes</key> 
    <array> 
    <string>jp2 </string> 
    </array> 
    <key>LSTypeIsPackage</key> 
    <false /> 
    <key>NSExportableAs</key> 
    <array> 
    </array> 
    <key>CFBundleTypeName</key> 
    <string>JPEG 2000 image</string> 
    <key>LSItemContentTypes</key> 
    <array> 
    <string>public.jpeg-2000</string> 
    </array> 
    </dict> 

    <dict> 
    <key>CFBundleTypeExtensions</key> 
    <array> 
    <string>jpeg</string> 
    <string>jpg</string> 
    <string>jpe</string> 
    </array> 
    <key>CFBundleTypeMIMETypes</key> 
    <array> 
    <string>image/jpeg</string> 
    <string>image/jpg</string> 
    </array> 
    <key>CFBundleTypeOSTypes</key> 
    <array> 
    <string>JPEG</string> 
    </array> 
    <key>LSTypeIsPackage</key> 
    <false /> 
    <key>NSExportableAs</key> 
    <array> 
    </array> 
    <key>CFBundleTypeName</key> 
    <string>JPEG image</string> 
    <key>LSItemContentTypes</key> 
    <array> 
    <string>public.jpeg</string> 
    </array> 
    </dict> 

    <dict> 
    <key>LSTypeIsPackage</key> 
    <false /> 
    <key>NSExportableAs</key> 
    <array> 
    </array> 
    <key>CFBundleTypeName</key> 
    <string>image</string> 
    <key>LSItemContentTypes</key> 
    <array> 
    <string>public.image</string> 
    </array> 
    </dict> 

    <dict> 
    <key>CFBundleTypeExtensions</key> 
    <array> 
    <string>webarchive</string> 
    </array> 
    <key>CFBundleTypeMIMETypes</key> 
    <array> 
    <string>application/x-webarchive</string> 
    </array> 
    <key>CFBundleTypeOSTypes</key> 
    <array> 
    <string>weba</string> 
    </array> 
    <key>LSTypeIsPackage</key> 
    <false /> 
    <key>NSExportableAs</key> 
    <array> 
    </array> 
    <key>CFBundleTypeName</key> 
    <string>web archive</string> 
    <key>LSItemContentTypes</key> 
    <array> 
    <string>com.apple.webarchive</string> 
    </array> 
    </dict> 

    <dict> 
    <key>CFBundleTypeExtensions</key> 
    <array> 
    <string>pdf</string> 
    </array> 
    <key>CFBundleTypeMIMETypes</key> 
    <array> 
    <string>application/pdf</string> 
    </array> 
    <key>CFBundleTypeOSTypes</key> 
    <array> 
    <string>PDF </string> 
    </array> 
    <key>LSTypeIsPackage</key> 
    <false /> 
    <key>NSExportableAs</key> 
    <array> 
    </array> 
    <key>CFBundleTypeName</key> 
    <string>Portable Document Format (PDF)</string> 
    <key>LSItemContentTypes</key> 
    <array> 
    <string>com.adobe.pdf</string> 
    </array> 
    </dict> 

    <dict> 
    <key>CFBundleTypeExtensions</key> 
    <array> 
    <string>html</string> 
    <string>htm</string> 
    <string>shtml</string> 
    <string>shtm</string> 
    </array> 
    <key>CFBundleTypeMIMETypes</key> 
    <array> 
    <string>text/html</string> 
    </array> 
    <key>CFBundleTypeOSTypes</key> 
    <array> 
    <string>HTML</string> 
    </array> 
    <key>LSTypeIsPackage</key> 
    <false /> 
    <key>NSExportableAs</key> 
    <array> 
    </array> 
    <key>CFBundleTypeName</key> 
    <string>HTML text</string> 
    <key>LSItemContentTypes</key> 
    <array> 
    <string>public.html</string> 
    </array> 
    </dict> 

    <dict> 
    <key>CFBundleTypeOSTypes</key> 
    <array> 
    <string>utxt</string> 
    </array> 
    <key>LSTypeIsPackage</key> 
    <false /> 
    <key>NSExportableAs</key> 
    <array> 
    </array> 
    <key>LSItemContentTypes</key> 
    <array> 
    <string>public.utf16-plain-text</string> 
    </array> 
    </dict> 

    <dict> 
    <key>CFBundleTypeOSTypes</key> 
    <array> 
    <string>ut16</string> 
    </array> 
    <key>LSTypeIsPackage</key> 
    <false /> 
    <key>NSExportableAs</key> 
    <array> 
    </array> 
    <key>LSItemContentTypes</key> 
    <array> 
    <string>public.utf16-external-plain-text</string> 
    </array> 
    </dict> 

    <dict> 
    <key>CFBundleTypeOSTypes</key> 
    <array> 
    <string>utf8</string> 
    </array> 
    <key>LSTypeIsPackage</key> 
    <false /> 
    <key>NSExportableAs</key> 
    <array> 
    </array> 
    <key>LSItemContentTypes</key> 
    <array> 
    <string>public.utf8-plain-text</string> 
    </array> 
    </dict> 

    <dict> 
    <key>CFBundleTypeExtensions</key> 
    <array> 
    <string>txt</string> 
    <string>text</string> 
    </array> 
    <key>CFBundleTypeMIMETypes</key> 
    <array> 
    <string>text/plain</string> 
    </array> 
    <key>LSTypeIsPackage</key> 
    <false /> 
    <key>NSExportableAs</key> 
    <array> 
    </array> 
    <key>LSItemContentTypes</key> 
    <array> 
    <string>public.plain-text</string> 
    </array> 
    </dict> 

    <dict> 
    <key>LSTypeIsPackage</key> 
    <false /> 
    <key>NSExportableAs</key> 
    <array> 
    </array> 
    <key>CFBundleTypeName</key> 
    <string>text</string> 
    <key>LSItemContentTypes</key> 
    <array> 
    <string>public.text</string> 
    </array> 
    </dict> 

</array>