开发者

Creating my own file extension based on plist

My application handles with files of type *.mndl which is not more than a customized *.plist. Up until now I've been using *.plist files but now I want to associate the extension and be able to open *.mndl files from any other app I have realized that renaming file.plist to file.mndl does not work. (Hence, I don't even know if I did correctly the extension association and exportation thing)

I sent to myself a file fil开发者_JS百科e.mndl from the computer and when received in mail.app I got file.mndl.plist (It was automatically renamed, this happened when reseting my iPad)

How can I create my own mndl files while being able to read its content using +dictionaryWithContentsOfFile: from NSDictionary class?

Even I am working with iOS I believe this kind of things were ported from MacOS and Cocoa. So Cocoa developers also could know this.

Your comments/answers are appreciated.

Thanks

ANSWERED: Just for completion purposes This is the addition I made to my 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>


At least for a Cocoa (desktop) app, you'd want to add the following information to your application's Info.plist.

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

Obviously, you should change the uniform type identifier to something appropriate. (I usually do com.markdouma.something, since that's my website).

Note that you only want to specify an entry for NSDocumentClass if you plan on using Cocoa's NSDocument architecture by creating an NSDocument subclass to handle loading the files. Otherwise, you could always just implement the following < NSApplicationDelegate > (read that as application delegate protocol) method:

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

That will give you an NSArray of NSStrings representing the POSIX paths to the files the user double-clicked on in the Finder (or dragged to the app icon, etc.)

If you want to go the NSDocument route, you can override the following method of NSDocument

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

and create your dictionary with [[NSDictionary dictionaryWithContentsOfFile:[url path]] retain];

Hope this helps...


Eventually I found this which could be used as a reference too: I found this on Google's cache and it shows how to add several extensions with different properties :)

<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>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜