6

ファイルを電子メールで送信してデータをエクスポートできる iOS アプリケーションに取り組んでいます。アプリは、拡張子が「sainputs」のファイルとしてファイル タイプを登録します (これは、アプリが値をインポートするために電子メールまたはドロップボックスからファイルを開くこともできるようにするためです。これは正常に機能します)。さまざまな種類のファイルを開くことができる他のアプリケーションにファイルを送信する可能性を追加しようとしています。Dropbox はその良い例です。あらゆる種類のファイルを開くことができるはずです。

私は現在、ファイルの URL で初期化された UIDocumentInteractionController を表示することでこれを試みています。表示されると、予想どおり、ファイルを開くための利用可能な選択肢の 1 つとして Dropbox アプリが表示されます。

ただし、Dropbox アイコンを押しても何も起こらず、コンソールに次のテキストが表示されます。

LaunchServices: Invalid LSOpenOperation request - No applications found to open document

アプリの plist ファイルでは、UTI com.mycompany.myapp.sainputs を持つドキュメント タイプを登録し、識別子 com.mycompany.myapp.sainputs を持つエクスポートされたタイプ UTI を、パブリック ファイル名拡張子 'sainputs' と MIME タイプ myapp で登録します。 /入力。

以下は、plist ファイルからの関連する抜粋です。

<key>CFBundleDocumentTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeName</key>
            <string>My App's File Type</string>
            <key>LSHandlerRank</key>
            <string>Owner</string>
            <key>LSItemContentTypes</key>
            <array>
                <string>com.mycompany.myapp.sainputs</string>
            </array>
        </dict>
        <array>
.
.
.
<key>UTExportedTypeDeclarations</key>
    <array>
        <dict>
            <key>UTTypeConformsTo</key>
            <array/>
            <key>UTTypeDescription</key>
            <string>My App's File Type</string>
            <key>UTTypeIdentifier</key>
            <string>com.mycompany.myapp.sainputs</string>
            <key>UTTypeTagSpecification</key>
            <dict>
                <key>public.filename-extension</key>
                <string>sainputs</string>
                <key>public.mime-type</key>
                <string>steuerapp/inputs</string>
            </dict>
        </dict>
        <array>

plist ファイルで MIME タイプを「application/octet-stream」に変更してみました。違いはありませんでした。

アドバイスやアイデアをいただければ幸いです。

4

2 に答える 2

0

これが他の誰かに起こった場合:

デバイスに別のアプリ(「ライト」バージョン)があり、同じUTIを誤った設定で宣言していたため、Klaasの回答を機能させることができませんでした。機能する前に、型を宣言するすべてのアプリに「public.data」を追加する必要があります。

念のため、アプリを 1 つだけインストールしてデバッグし、別のアプリを追加して、すべてが機能するかどうかを確認することをお勧めします。

于 2014-10-31T09:39:41.473 に答える