1

context.openURL を使用して拡張機能で試しましたが、Apple によってブロックされています。これは彼らのドキュメントが言うことです:

説明: 各拡張ポイントは、このメソッドをサポートするかどうか、またはこのメソッドをサポートする条件を決定します。iOS 8.0 では、Today 拡張ポイントのみがこのメソッドをサポートしています。

では、メールからファイルを共有することを選択した後でアプリを開くにはどうすればよいでしょうか? Dropbox がそれを行い、Maps.me がそれを行うので、方法があるに違いありません。

編集:拡張機能を共有することは、これを解決する方法ではありませんでした。コメントの中で、Tom は適切なものを含む SO の投稿を指摘してくれました: How does "Open With" some app in iPhone work?

4

1 に答える 1

3

これらのアプリには共有拡張機能がありません。あなたが何を見ているのかわかりませんが、あなたの質問の前提は正しくありません。

Mac に Dropbox.app をダウンロードしてアプリ パッケージを解凍すると、2 つの拡張機能が含まれます。

$ ls Payload/Dropbox.app/PlugIns/
DocPicker.appex/        DropboxTodayView.appex/

これらの拡張機能のファイルを調べると、Info.plistどちらも共有拡張機能ではないことがわかります。DocPicker.appexはファイル プロバイダーの拡張子です。

            <key>NSExtensionPointIdentifier</key>
            <string>com.apple.fileprovider-ui</string>

DropboxTodayView.appex今日の拡張機能です:

    <key>NSExtensionPointIdentifier</key>
    <string>com.apple.widget-extension</string>

Maps.me アプリで同じことを試してみると、拡張機能がまったく含まれていないことがわかります。

$ ls Payload/maps.me.app/PlugIns
ls: Payload/maps.me.app/PlugIns: No such file or directory

Apple の現在の制限により、含まれているアプリを共有拡張機能から開くことはできません。

于 2015-01-04T20:59:46.330 に答える