1

iOS アプリ用のカスタム UTI を定義し、AirDrop 経由でファイルを転送しました。受信デバイスで、ユーザーが自分のアプリに加えて DropBox、Evernote などのアプリの選択肢を提供されることを除いて、すべて正常に機能します。これを防ぎたいので、ユーザーには私のアプリのみが選択肢として表示されます。これは可能ですか?

私のinfo.plistには次のものがあります:

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeIconFiles</key>
        <array>
            <string>Icon.png</string>
        </array>
        <key>CFBundleTypeName</key>
        <string>My Text</string>
        <key>CFBundleTypeRole</key>
        <string>Viewer</string>
        <key>LSHandlerRank</key>
        <string>Owner</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>com.me.text</string>
        </array>
    </dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
    <dict>
        <key>UTTypeDescription</key>
        <string>My Text</string>
        <key>UTTypeIdentifier</key>
        <string>com.me.text</string>
        <key>UTTypeTagSpecification</key>
        <dict>
            <key>public.filename-extension</key>
            <string>per</string>
        </dict>
    </dict>
</array>

私は何を間違っていますか?

4

2 に答える 2

0

私はこの問題を自分で解決しました。エクスポートされたタイプを public.data に基づいて変更することでそれを行いました。

私のアプリによってエクスポートされたファイルは、Evernote などによって消費される意味がないため、これを行うのは論理的なことです。テキストとして指定するのは間違っていました。これは、ユーザーを本当に混乱させてしまうためです。非論理的なオプション。ここでの別のポスターの主張に反して、これは「ユーザーに対して私の意志を行使する」というケースではなく、別のプログラムがテキストファイルとして解析するための構造化ファイルを誤って指定したケースです。public.data に基づいてこれを修正すると、ユーザーのエクスペリエンスが向上します。

私の UTExportedTypeDeclations は、興味のある他の人のために次のようになります。

<key>UTExportedTypeDeclarations</key>
<array>
    <dict>
        <key>UTTypeConformsTo</key>
        <array>
            <string>public.data</string>
        </array>
        <key>UTTypeDescription</key>
        <string>My Text</string>
        <key>UTTypeIdentifier</key>
        <string>com.me.text</string>
        <key>UTTypeTagSpecification</key>
        <dict>
            <key>public.filename-extension</key>
            <string>per</string>
        </dict>
    </dict>
</array>
于 2014-11-09T08:55:31.027 に答える
0

ユーザーに対して自分の意志を主張しようとしています。それは決してうまく終わらない。

あなたの問題は、実際にはあなたの側で引き起こされたものではありません.

DropBox、Evernote など。アル。おそらく、すべてのファイルを許可する独自のスキームを宣言しています。システムは適切に動作し、一致するすべてのアプリケーションのリストを提供します (これには常に を宣言するアプリケーションが含まれます*)。

言い換えれば、あなたがやろうとしていることは次のとおりです。

  1. 不可能
  2. 意図したデザインではない
  3. ひどく反社会的
于 2014-01-27T08:53:11.833 に答える