2010-12-27 7 views
11

私が開発しているアプリでは、ファイル用のカスタムファイル形式があり、iOSの「Open In ...」機能を使用して、例えばお互いに電子メールでファイルを送信し、アプリで直接開きます。iOSアプリケーション用に独自のUTIを作成する

私はInfo.plistファイルにCFBundleDocumentTypeを追加していますが、問題はLSItemContentTypesです。 From what I've read、実際のファイル を「.myfileextension」というよりはUTIとして提供する必要があります.iOSアプリケーションでUTIを作成する方法についてはほとんど見当たりません。

誰でも知っていますか?

答えて

13

あなたはアップルから、次のトピックをよく読んですることになるでしょう:ドキュメントから

Adopting Uniform Type Identifiers
Introduction to Uniform Type Identifiers Overview
Declaring New Uniform Type Identifiers

アプリケーションが独自のデータフォーマットを使用している場合は、アプリケーションバンドルのInfo.plistファイルでそれらを宣言する必要があります。いくつかのガイドライン:

  • あなたのUTI文字列は一意でなければなりません。 com.companyNameで始まる逆DNS形式に従うことは、一意性を保証する簡単な方法です。システムは同じ仕様の異なるUTI文字列をサポートできますが、その逆は真ではありません。あなたのコードがシステム上 存在しないことも、サードパーティUTIの種類に依存している場合

  • 、あなたは あなたのバンドル内のインポートされたタイプとして それらのUTIを宣言する必要があります。

  • 独自のタイプが1つ以上の既存のタイプのサブタイプである場合は、必ず適合性情報を追加してください。ほとんどの場合、バンドルにその型を宣言していない限り、非公開型への適合を指定しないでください。パブリックおよびアップル定義のUTIのリストについては、「システム宣言された統一タイプ識別子」を参照してください。

関連する問題