UTIおよびCFBundleDocumentTypesを介して宣言されたカスタムファイルタイプのiPadアプリケーションがあります。「OpenIn...」オプションでアプリを起動できるようにしながら、MailやDropboxなどのアプリケーションでファイルプレビューが表示されないようにする方法はありますか?アプリケーションInfo-plistでUITypeConformsToとUTTypeTagSpecificationをカスタム値に設定しましたが、他のアプリはまだ私のアプリによって作成されたカスタム拡張子を持つファイルをプレビューしています。プレビューする機能は、UTTypeTagSpecificationの値(つまり、mime-type)に依存していると思いましたが、明らかにそうではありませんでした。ありがとう。
2 に答える
私が見つけた唯一の解決策は、ファイルを圧縮することです(例:ZIP)。これにより、iPadアプリがコンテンツを表示できなくなります。カスタムドキュメントタイプを宣言するときは、引き続き注意する必要があります。そうしないと、圧縮されていてもアプリがプレビューを試みて、ぎこちない表示になってしまう可能性があります。
各クイックルックジェネレータのInfo.plistは、処理できるUTIタイプを定義します。
例:/System/Library/QuickLook/Text.qlgenerator/Contents/Info.plistは、システムのデフォルトの「テキスト」ジェネレーターのInfo.plistへのパスです。
ジェネレーター用の他の2つのフォルダーは、/ Library / QuickLookと〜/ Library/QuickLookです。
上部近くに次のような線が表示されます。
<key>CFBundleTypeRole</key>
<string>QLGenerator</string>
<key>LSItemContentTypes</key>
<array>
<string>public.plain-text</string>
<string>public.rtf</string>
<string>com.apple.rtfd</string>
<string>org.oasis-open.opendocument.text</string>
<string>com.apple.property-list</string>
<string>public.xml</string>
</array>
さまざまなアプリケーションのInfo.plistファイルは、どのファイル拡張子がどのUTIタイプに属するかを定義します。オペレーティングシステムは、ファイル拡張子を使用してUTIを取得します。
カスタムUTI/ファイル拡張子が既存の定義と競合している可能性があります。これは、あなたが説明した問題の原因と思われます。
デフォルト(およびインストールしたプログラムのエクスポートされたUTIタイプ)を調べて、カスタムUTI(ファイル拡張子も!)が本当に100%一意であることを確認することをお勧めします。
何も継承しないようにしてください。そうしないと、ジェネレーターがそれを開いてみようと判断する可能性があります。