アプリケーションのUTI宣言 【QuickLook Plug-inの開発:実践的Macintoshプログラミング解説】

印刷用表示 |テキストサイズ 小 |中 |大 |

クイックルックプラグインの開発

実践的 Macintosh プログラミング解説

QuickLook Cover Flow.png

| HOME | 下準備 | アプリケーションのUTI宣言 |

更新日 2011-10-02 | 作成日 2008-01-04

アプリケーションのUTI宣言

Info.plistを編集する

 Repeating Motif Generatorのドキュメントに対応する独自UTIを宣言するのはRepeating Motif Generatorアプリケーションなので、そのInfo.plistを変更します。

ドキュメントのUTIを指定する

 まずRepeating Motif GeneratorドキュメントのUTIが"com.novemberkou.rmgdoc"であることを指定します。これは CFBundleDocumentTypesの中にLSItemContentTypesを追加して、その配列の中に"com.novemberkou.rmgdoc"を入れておけばOKです。これはGUIで設定する事もできます。

document'sUTI.png


新しいUTIを宣言する

 次にUTExportedTypeDeclarationsで新しいUTIを宣言します。
 UTTypeDescriptionはこのUTIの説明なので Repeating Motif Generator Documentとしました。
 UTTypeIdentifierがこのUTIの識別子です。com.novemberkou.rmgdocとします。
 UTTypeConformsToでこのUTIの継承元を指定します。バイト列のベースタイプであるpublic.dataを指定しました。
 UTTypeTagSpecificationでこのUTIが持つタグを指定します。ここでは拡張子だけを指定しています。

 以上でアプリケーション側のInfo.plistの変更は終わりです。ビルドしてアプリケーションフォルダに入れておきます。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleDevelopmentRegion</key>
    <string>English</string>
    <key>CFBundleDocumentTypes</key>
    <array>
        <dict>
            <b><key>LSItemContentTypes</key>
            <array>
                <string>com.novemberkou.rmgdoc</string>
            </array></b>
            <key>CFBundleTypeExtensions</key>
            <array>
                <string>rmgdoc</string>
            </array>
            <key>CFBundleTypeIconFile</key>
            <string>RMGDocIcon</string>
            <key>CFBundleTypeName</key>
            <string>Repeating Motif Generator Document</string>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>LSTypeIsPackage</key>
            <false/>
            <key>NSDocumentClass</key>
            <string>RMGDocument</string>
            <key>NSPersistentStoreTypeKey</key>
            <string>Binary</string>
        </dict>
    </array>
    <key>CFBundleExecutable</key>
    <string>${EXECUTABLE_NAME}</string>
    <key>CFBundleIconFile</key>
    <string>RepeatingMotifGenerator</string>
    <key>CFBundleIdentifier</key>
    <string>RepeatingMotifGenerator</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>${PRODUCT_NAME}</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleShortVersionString</key>
    <string>Version 3.0.4</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleVersion</key>
    <string>3.0.4</string>
    <key>NSMainNibFile</key>
    <string>MainMenu</string>
    <key>NSPrincipalClass</key>
    <string>NSApplication</string>
    <b><key>UTExportedTypeDeclarations</key>
    <array>
        <dict>
            <key>UTTypeDescription</key>
            <string>Repeating Motif Generator Document</string>
            <key>UTTypeIconFile</key>
            <string>RMGDocIcon</string>
            <key>UTTypeIdentifier</key>
            <string>com.novemberkou.rmgdoc</string>
            <key>UTTypeConformsTo</key>
            <array>
                <string>public.data</string>
            </array>
            <key>UTTypeTagSpecification</key>
            <dict>
                <key>public.filename-extension</key>
                <array>
                    <string>rmgdoc</string>
                </array>
            </dict>
        </dict>
    </array></b>
</dict>
</plist>