私のアプリで、既存のファイルタイプの「OpenIn..」機能をサポートしたいと思います。
ただし、このファイルタイプにはUTIがありません。
ターミナルでmdlsを実行すると、次の結果が得られました。
kMDItemContentType = "dyn.ah62d4rv4ge80c25t"
kMDItemContentTypeTree = (
"public.data",
"public.item"
)
その情報を与えられて、私は私のplistに追加しました:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>extension</string>
</array>
<key>LSHandlerRank</key>
<string>Alternate</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSItemContentTypes</key>
<array>
<string>public.data</string>
<string>public.item</string>
</array>
</dict>
</array>
ただし、これは「拡張機能」を無視し、任意のデータファイルに対して「OpenIn..」を有効にするようです。
これを防ぐ方法はありますか?