iOSアプリを他のアプリケーションの「開く」リストに表示できるようにする登録プロセスを実装しようとしています(Appleのドキュメントインタラクションプログラミングトピックで説明されています)。標準のオーディオファイル形式(MP3、AIFF、WAVなど)を提供する任意のアプリからのオーディオをアプリで処理できるようにしたいと考えています。
私が理解しているように、私がする必要があるのはCFBundleDocumentTypes
、関連するサブデータを含むキーをアプリのInfo.plistに追加することだけです。これは私が(Xcode 4のドキュメントタイプエディタを介して)入力したものです:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFiles</key>
<array>
<string>scrubbulator-icon</string>
</array>
<key>CFBundleTypeName</key>
<string>Audio</string>
<key>LSHandlerRank</key>
<string>Alternative</string>
<key>LSItemContentTypes</key>
<array>
<string>public.mp3</string>
</array>
</dict>
</array>
このコードを追加しても、アプリの[開く]メニューにアプリが表示されません(iPhoneでテストしています。ファイルソースとしてDropboxのMP3を使用しています。アプリAudioMemosとEvernoteは、どちらもDropboxのMP3ファイルに対して表示されます。 、だから私はフォーマットがサポートされていることを知っています)。私が間違っていることは明らかですか、それとも他に実装する必要がありますか?
UTExportedTypeDeclarations
(注:これらはカスタムUTIにのみ必要であると理解しているため、Info.plistに項目を設定していません。システムUTIを使用しているため、必要ではないと思いますが、修正してください。間違っています。)
編集
次のエクスポートされたタイプUTIを追加しましたが、成功しませんでした。
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>kUTTypeMP3</string>
</array>
<key>UTTypeDescription</key>
<string>Audio file</string>
<key>UTTypeIdentifier</key>
<string>kUTTypeMP3</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>mp3</string>
</array>
</dict>
</dict>
</array>