0

すべてのドキュメント タイプを開くようにアプリを登録しましたが、これは正常に機能しますが、画像を操作することはできず、PhotoAlbum には表示されませんが、アプリはサファリに表示され、サファリは特定のファイルを開くためのオープン リクエストを送信できます。

ヒントはありますか?

ここに私のplistの変更があります:

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeName</key>
        <string>PDF Document</string>
        <key>LSHandlerRank</key>
        <string>Default</string>
        <key>CFBundleTypeRole</key>
        <string>Viewer</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>public.content</string>
            <string>public.item</string>
            <string>public.data</string>
            <string>public.image</string>
        </array>
    </dict>
</array>
4

1 に答える 1

0

OSX キーと iOS キーを混同しています。たとえばCFBundleTypeRole、iOS では使用されない OSX キーです。

CFBundleDocumentTypesドキュメントからのキーの適切な説明は次のとおりです。

CFBundleDocumentTypes

CFBundleDocumentTypes(配列 - iOS、OS X) には、1 つ以上のドキュメント タイプをアプリに関連付ける辞書の配列が含まれています。各ディクショナリはタイプ定義ディクショナリと呼ばれ、ドキュメント タイプを定義するために使用されるキーが含まれています。表 2 に、これらの辞書でサポートされているキーを示します。アプリがサポートするタイプの指定に関する追加情報については、「アプリケーションのプロパティ リストへのドキュメント タイプ情報の保存」を参照してください。

CFBundleDocumentTypesドキュメント タイプごとに配列に 1つのエントリを指定する必要があります。現在、PDF ドキュメントという名前のエントリは 1 つしかありません。下の配列LSItemContentTypesは、実際には、特定の 1 つのドキュメント タイプのさまざまな「拡張機能」を対象としています。ドキュメントからこの説明を読んでください:

このキーには文字列の配列が含まれています。各文字列には、サポートされているファイル タイプを定義する UTI が含まれています。UTI 文字列は、Launch Services によって定義された定数のいずれかを使用するのではなく、明示的に綴る必要があります。たとえば、PNG ファイルをサポートするには、文字列「public.png」を配列に含めます。このキーを使用する場合は、適切なエントリを含む NSExportableTypes キーも追加してください。

CFBundleDocumentTypes結論として、画像の新しい型定義ディクショナリを配列に挿入する必要があります。

詳細については、こちらをご覧ください。

于 2013-02-20T10:23:00.337 に答える