0

[プログラムから開く]メニューでアプリを提案する方法を探しています。このテーマに関するStackOverflowトピックを見ました。必要な行をplistファイルに設定しましたが、アプリはまだ提案されていません。これどうやってするの ?

これが私がplistに設定したコードです:

<key>CFBundleDocumentTypes</key>
<array>
        <dict>
            <key>CFBundleTypeExtensions</key>
            <array>
                <string>pdf</string>
            </array>
            <key>CFBundleTypeIconFile</key>
            <string>app.icns</string>
            <key>CFBundleTypeName</key>
            <string>public.pdf</string>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
        <key>LSHandlerRank</key>
            <string>Owner</string>
            <key>LSItemContentTypes</key>
            <array>
                <string>public.pdf</string>
            </array>
    </dict>
        <dict>
            <key>CFBundleTypeExtensions</key>
            <array>
                <string>png</string>
            </array>
            <key>CFBundleTypeIconFile</key>
            <string>app.icns</string>
            <key>CFBundleTypeName</key>
            <string>public.png</string>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>LSHandlerRank</key>
            <string>Owner</string>
            <key>LSItemContentTypes</key>
            <array>
                    <string>public.png</string>
            </array>
        </dict>
</array>

<key>UTImportedTypeDeclarations</key>
<array>
    <dict>
            <key>UTTypeConformsTo</key>
            <array>
                    <string>public.data</string>
            </array>
            <key>UTTypeIdentifier</key>
            <string>public.pdf</string>
            <key>UTTypeTagSpecification</key>
            <dict>
                    <key>com.apple.ostype</key>
                    <string>PDF</string>
                    <key>public.filename-extension</key>
                    <array>
                        <string>pdf</string>
                    </array>
                    <key>public.mime-type</key>
                    <string>application/pdf</string>
            </dict>
    </dict>
        <dict>
            <key>UTTypeConformsTo</key>
            <array>
                    <string>public.image</string>
            </array>
            <key>UTTypeIdentifier</key>
            <string>public.png</string>
            <key>UTTypeTagSpecification</key>
            <dict>
                    <key>com.apple.ostype</key>
                    <string>PNG</string>
                    <key>public.filename-extension</key>
                    <array>
                        <string>png</string>
                    </array>
                    <key>public.mime-type</key>
                    <string>image/png</string>
            </dict>
        </dict>
</array>
4

1 に答える 1

4

リンクした他の回答からそれらのエントリをコピーするだけだったようです。

PDFファイルとPNG画像の場合、2番目の部分(インポートされた宣言)はまったく必要ありません。これらはよく知られているドキュメントタイプです。

ドキュメントタイプの場合、私はこれを行うだけです:

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeName</key>
        <string>PDF</string>
        <key>LSHandlerRank</key>
        <string>Alternate</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>com.adobe.pdf</string>
        </array>
    </dict>
    <dict>
        <key>CFBundleTypeName</key>
        <string>PNG</string>
        <key>LSHandlerRank</key>
        <string>Alternate</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>public.png</string>
        </array>
    </dict>
</array>
于 2013-02-24T22:57:01.613 に答える