Search code examples
macoscocoabundleuti

Exported UTI for package/bundle


My Cocoa document-based app opens and writes custom packages/bundles.

Is this considered a proprietary format that needs to be exported via Exported UTIs (UTExportedTypeDeclarations)?

If so, what should be the values for:

  • Conforms To (UTTypeConformsTo)
  • Mime Types (public.mime-type)
  • Pboard Types (com.apple.nspboard-type)
  • OS Types (com.apple.ostype)

Finally, does the Exported UTI identifier (UTTypeIdentifier) need to be the same value than the Document Type identifier (LSItemContentTypes)?


Solution

  • Trial-and-error findings:

    Is this considered a proprietary format that needs to be exported via Exported UTIs (UTExportedTypeDeclarations)?

    Yes. While I couldn't find any explicit mention of this in the documentation, exporting the type was necessary for Finder to treat the directories as packages.

    • Conforms To (UTTypeConformsTo)

    com.apple.package (source)

    • Mime Types (public.mime-type)

    Empty. Directories don't have a Mime Type?

    • Pboard Types (com.apple.nspboard-type)

    Empty. Pboard Types are deprecated?

    • OS Types (com.apple.ostype)

    No clue.

    Finally, does the Exported UTI identifier (UTTypeIdentifier) need to be the same value than the Document Type identifier (LSItemContentTypes)?

    Yes, but I couldn't find any explicit mention of this in the documentation.