独自のファイル タイプのインスタンスを送受信できるようにしたい iOS アプリがあります。フローは次のようになります。
- ユーザー 1 は、アプリで共有機能を選択します。これにより、私のタイプのファイル(たとえば、file.myextension)が生成され、
UIActivityViewController
. 彼らは何らかの方法でそれをユーザー 2 に送信します (AirDrop、電子メールなど)。 - ユーザー 2 がファイルを受け取り、それを開きます。システムは、アプリを使用して開くことを提案します。
最初の部分が機能しています。file.myExtension を生成し、それにUIActivityViewController
ファイルの URL を与えることができます。これはユーザー 1 のデバイスの AirDrop に正しく表示され、AirDrop や電子メールなどを使用してファイルを転送できます。しかし、受信デバイスは、ファイルを開くオプションとしてアプリを表示することを拒否します。
私が試してみました:
- この Apple Q&Aに従って、エクスポートおよびインポートされた UTI とドキュメント タイプを宣言します。すべての ID が同じであり、すべての plist キーのスペルが正しいことを 3 回確認しました。
- エクスポートされた UTI とインポートされた UTI の両方を単独で (ドキュメント タイプと共に) 試しました。この記事では、ファイルの種類を開きたい場合は、インポートされたものが必要であると言っているようです。This SO answerは、私が所有していて開きたいタイプを登録することは、エクスポートしたいだけであることを意味します。どちらもそれ自体では機能しませんでした。
私の質問: iOS で所有しているファイル拡張子を開くにはどうすればよいですか? ドキュメント タイプとともに、インポート済み UTI とエクスポート済み UTI の両方を定義する必要がありますか? 輸出または輸入のどちらかだけですか? 予期しない必須属性はありますか?