カスタムファイル形式、UTIなどを次のように設定したドキュメントベースのアプリがあります。
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>extension</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>Icon</string>
<key>CFBundleTypeName</key>
<string>Custom Document</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSHandlerRank</key>
<string>Default</string>
<key>NSDocumentClass</key>
<string>MyDocument</string>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeDescription</key>
<string>Custom Document</string>
<key>UTTypeIconFile</key>
<string>Icon</string>
<key>UTTypeIdentifier</key>
<string>com.mycompany.appname</string>
<key>UTTypeReferenceURL</key>
<string></string>
<key>UTTypeTagSpecification</key>
<dict>
<key>com.apple.ostype</key>
<string>XXXX</string>
<key>public.filename-extension</key>
<array>
<string>extension</string>
</array>
</dict>
</dict>
</array>
<key>UTImportedTypeDeclarations</key>
<array/>
これは(私が読んだことに基づいて、私が推測する)それを行う正しい方法です。ただし、保存したファイルに対して mdls を実行すると、UTI は次のように表示されます。
kMDItemContentType = "com.apple.appname.document"
TextEdit、iSpend、Sketch などのサンプル アプリの plist からエントリを文字通りコピー アンド ペーストしましたが、すべて役に立ちませんでした。
正しい UTI に依存するカスタム QuickLook ジェネレーターが必要なため、保存されたドキュメントが正しい UTI を持つことが特に重要です。
どんな助けでも大歓迎です。前もって感謝します。