別のアプリでファイル(アプリにローカルに保存されている)を開きたい。
現在、私はopenURL(専用のURLスキームがあります)を使用しており、インターネットでホストされているファイルを使用すると正常に機能しますが、ローカルファイルを使用したいので:a)オフラインで機能しますb)多くのユーザーがセルゾーンのカバレッジ外にあるか、国際的にローミングしている時間
これまでに試したこと:openURLにローカルファイルを使用するように指示することができませんでした。いくつかのアプローチを試しましたが、それらはすべて次のようなものです。
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"ext"];
NSURL *fileURL = [NSURL fileURLWithPath:filePath];
[[UIApplication sharedApplication] openURL:fileURL];
また
NSURL *fileURL = [[NSBundle mainBundle] URLForResource: @"test" withExtension:@"ext"];
[[UIApplication sharedApplication] openURL:fileURL];
また、localhost /およびfile://およびvar/mobileなどのパスのバリエーションが異なる文字列を手動で使用する
何も機能しません(とにかく私にとって)
それで、私はSOを見回して、UIDocumentInteractionControllerに出くわしました
UIDocumentInteractionControllerを使用して、ユーザーが他のアプリでローカルファイルを開くことができます。ただし、使用する他のアプリの複数のオプションが常に表示されます。たとえば、他のアプリの1つを「Dropbox」にすることができます。
他の方法で使用するために、ユーザーに自分のファイルのコピーをダウンロード(または技術的にアップロード)させたくありません。すぐに利用できるようにしたくないデータが含まれています。
私が意図したアプリ(私が作成したものではない)でファイルを開くと、生データの保存やアクセスは許可されません。
私のアプリにファイルを含めることで、それを取得することに真剣に取り組んでいる人なら誰でもできるようになることを理解しています。
理想的には、openURLを使用できますが、他のアプリが応答しないのは「サンドボックス」が原因だと思います。Androidでは、mode_world_writtenを使用して、ファイルを他のアプリで読み取り可能として宣言します(したがって、サンドボックスの外に配置します。他のアプリがそれに書き込むことを許可せず、ただ読むだけです)-とにかくiOSで同じことをする方法はありますか?
それ以外の場合、UIDocumentInteractionControllerに特定のアプリを使用させ、メニューを表示しないように強制できれば、それでも問題ありません。
長い間読んで申し訳ありませんが、どんな助けもいただければ幸いです。
編集:Apple Techサポートから回答を受け取ったところ、これは現在不可能であると言われました(iOS 6がリリースされた直後)