8

問題:


スイートの性質のエンタープライズ アプリケーションを構築し、あるアプリケーションから別のアプリケーションにデータを渡すことができる必要があります。例: App1 は、在庫リストを生成するバーコード リーダーです。App2 は、発注書を作成するという目標を達成するために、App1 が作成したのと同じ在庫リスト情報の「新しい」コピーを必要とします。2 つのアプリとデータベースは、1 つのアプリにまとめるには 2 つの大きなサイズです。さらに、このスイートはアプリの数が増えるにつれて成長し続けます。


理解:


「各」アプリケーションが独自のサンドボックスにあることを完全に理解しています。ただし、新しい UIDocumentInteractionController API に関するドキュメントを読んでいると、アプリケーションがサンドボックスの外に出て、離れていないドキュメントを「読み込む」、「表示する」、または「開く」ことができるようです。バンドルの、またはアプリケーション内で作成された。


データフロー:


シンプルに保つようにしています。私は、Apple からダウンロードした DocInteraction サンプル アプリケーションと、App1 という別のアプリケーションを使用して、単純なテキスト ファイルを操作しようとしました。App1 では、単純な txt ファイルを作成し、ドキュメント フォルダーに保存します。(しかし、これはまだアプリのサンドボックス内にありますか?)。DocInteraction の変更されたサンプルでは、​​作成された txt ファイルを "表示"、"開く"、またはさらに良いのは "読み込む" 方法を見つけようとしています。2 つの間で単純な txt ファイルを渡すことができれば、CSV 構造を含めて、アプリケーションが開かれるたびに両側のデータベースを更新できます。

起動オプション キーを利用しようとしましたが、うまくいきませんでした。

要するに、私は頭を動かすことができないようです:

  1. App1 のデータはどこに行く必要がありますか?
  2. App2など、他のアプリでデータを見つける方法は?
  3. 別のアプリケーションのサンドボックス内に存在するファイルをどのように「開く」のですか?

最終結果: 私は、

Document Interaction ドキュメントの概要:

  • ドキュメントのプレビューまたはプレゼンテーション オプション
  • ファイル タイプのサポートの登録
  • 他のアプリからファイルを開く
  • クイック ルック プレビューの表示と印刷

私が最も興味を持っているのは、「他のアプリからファイルを開く」です。キーのディクショナリ値を渡すことにより、application:didFinishLaunchingWithOptions: メソッドを利用するように指示されます。ここで迷ってしまいます?? 「WHERE」と「WHAT」を探すようにキーを設定するにはどうすればよいですか? そして、キーが正しい場所を指すようにするために、App1 が情報を保存する適切なディレクターをまだ明確にしていませんか?


この API を利用できるのは、電子メールの添付ファイルを開いたり、iBooks で PDF を開いたりすることだけではありません。そうでなければ、Apple はすべての作業を行っていないため、App-to-App からの通信が既に許可されています。


注: App1 にデータを App2 のファイルに直接送信させようとしているわけではありません。私はそれが Apple によってまったく許可されるとは思わない! 私は App1 にデータを圧縮して適切な場所に保存させようとしています。そのため、ユーザーが App2 を使用することを決定すると、データを「読み込む」ことで App2 がデータを利用できるようになります。


誰かがサンプルアプリケーション、チュートリアル、またはこれを機能させるための確かなアイデアを持っている場合、私は本当に助けていただければ幸いです.

-ありがとう!

PS 1,500 以上の評判を持つ誰かが、stackoverflow の「UIDocumentInteraction」タグを作成してください!

4

1 に答える 1

7

先月稼働させました。これが私のメンタルモデルです:

App1 はサンドボックス内の任意の場所にファイルを作成します。

App1 は docinteraction を呼び出して、そのファイルの「開く」GUI を表示します。

ユーザーが「App2 で開く」を選択

iOS はファイルを 1 つのサンドボックスから別のサンドボックスにコピーし、App2 を起動します。

App2 は didfinishlaunchingwithURL を実装し、提供された URL (サンドボックス内のコピー) をロードします。

于 2011-01-26T22:53:25.920 に答える