UTI Property List Helper

A developer tool by Peter Hosey


In Mac OS X 10.3, Apple introduced a new scheme for identifying data types called Uniform Type Identifiers.

One requirement that Mac OS X puts on any application that wants to use these identifiers is that it declare them in its Info.plist—not just in CFBundleDocumentTypes and NSServices, but also in UTImportedTypeDeclarations and UTExpertedTypeDeclarations. Otherwise, Mac OS X 10.4 and later will ignore your application's uses of those UTIs elsewhere in your Info.plist.

This creates a lot of work for you, especially when importing a type declaration. Exporting a new declaration is easy, because it's your type: you can make up whatever you want. But to import a declaration, you must gather information about it and construct the dictionary yourself. This gets tedious, especially for some types (such as image types) that you may import in one application after another.

UTI Property List Helper is an application to solve this problem for you.

The UTI Property List Helper window contains a table view, wherein you enter the UTIs, and two text views: one showing the CFBundleDocumentTypes array, and the other showing the UTImportedTypeDeclarations array.

Simply add types to the list in the upper half of the window, and UTI Property List Helper will automatically update the two arrays in the lower half. When you're done, either select and copy each array's XML text into your Info.plist, or save it to a file.


The application, in a zip archive.
128-bit FNV1 hash: d75f4809ceb2aaf8d4b6f4d4e6a00c4d
MD5 hash: 86df4fcd9ab880da31e1847ae4587e85
SHA-1 hash: 2522f6b0deb5189b3c5d59587945f872b7d22f25
Detached PGP (GPG) signature of UTI_Plist_Helper-1.0.zip using public key ID A54AE2A6.
128-bit FNV1 hash: 6024fadffbbf410accb335db3b7adb09
MD5 hash: 82a7e424621d0698a5ba8875245ca066
SHA-1 hash: dc6c4fc1762bf71953be7e97c01b8ae31af2e3a8
Objective-C source code and an Xcode 2.5 project, in a bzip2ed tarball.
128-bit FNV1 hash: 764c4ce55c898f58a210e271aca53450
MD5 hash: 2a8dcd54e7b6de09fa98b0395fbfc44e
SHA-1 hash: 6a32fcb5b8b4af4bdc2950176c0f87aafefe84f9
Detached PGP (GPG) signature of UTI_Plist_Helper-1.0-source.tbz using public key ID A54AE2A6.
128-bit FNV1 hash: 3178df2ea0ec85cae5374bc0583d26ca
MD5 hash: c750f7622b30d8ff3ad33ba72a1b8ba3
SHA-1 hash: 4e435e52b61db09ec685f04e3813c239fa77fd57

MD5 and SHA1 signatures were created using the md5sum(1) and sha1sum(1) utilities from GNU coreutils.

Mercurial repository

If you want to contribute bug-fixes or enhancements to UTI Property List Helper, the easiest way to do that is to clone the Mercurial repository for UTI Property List Helper. To do this, type this command into a terminal:

hg clone http://boredzo.org/uti-plist-helper/hg UTI-Plist-Helper

I provide UTI Plist Helper—the application, and its source code—under a three-clause BSD license. For more information, see the file named LICENSE.txt that comes with it.

Version history


2008-03-21 http://boredzo.org/uti-plist-helper
Valid XHTML 1.0! Valid CSS!