0

基本的に、アプリが互いに独立して機能し、データを保存するかどうか、またはあるアプリが別のアプリを変更する可能性があるかどうかを知りたいです。また...

アプリとそのデータは、スマートフォンに保存されているフォルダーはどれですか?

アプリでローカルにデータを変更した場合、そのデータは他のアプリがアクセスできる公共の場所に保存されますか、それともそのアプリ固有のフォルダーに保存されますか?

4

3 に答える 3

2

iOS は、アプリ間通信に関してはそれほど成熟していません。

システム クリップボードを使用してアプリ間でデータを共有し、電子メールや Web サービスなどのメディアを介してネットワーク経由でデータを送信できます。

iOS デバイスは、アプリが URL とファイルタイプ ハンドラーを介してメッセージとデータを送信するための簡単で明確に定義された方法も提供します。これらの手法は、次の 2 つのカテゴリに分類されます。

  1. カスタム URL プレフィックス。例: someapp://something/somethingelse?somestuff=whatever
  2. ファイル拡張子 (例: *.txt) または MIME タイプ (例: text/plain) によるカスタム ファイル タイプ ハンドラー。

カスタム URL プレフィックスは、2 つのアプリが特定のプロトコルを確立した場合に役立ちますが、カスタム ファイル タイプ ハンドラーはより一般的であり、任意のアプリが自身を登録して参加できるように設計されています。この記事では後者について説明します: 化学データのカスタム ファイル タイプ ハンドラー。特定のファイルタイプにアプリを登録すると、次のようになります-

ここに画像の説明を入力

登録 質問の 2 番目の部分 -アプリでローカルにデータを変更した場合、データは他のアプリがアクセスできる公共の場所に保存されますか、それともそのアプリ固有のフォルダーに保存されますか?

そのため、各アプリケーションは、デバイスのファイル システム上のどこにデータを保存できるかという点で制限されています。iOS では、アプリケーションが独自の Documents および tmp ディレクトリに対してのみ読み書きできるようにすることで、これを実現しています。これら 2 つのディレクトリ内で、対応するアプリケーションは、必要なレベルの深さまでファイルとサブディレクトリを作成できます。この領域はアプリケーションのサンドボックスを構成し、アプリケーションはこれらのディレクトリの外部にあるファイルまたはディレクトリを作成または変更できません。これをチェック

于 2012-07-03T18:20:50.147 に答える
1

この質問の最初の部分に対する一般的な答えは、「いいえ」です。アプリは本質的にサンドボックス化されているため、相互に通信できません。これにはいくつかの例外があります。

  1. 特定のアプリのカスタム URL スキームにアクセスできる場合 (Facebook シングル サインオンはこれを利用します)。
  2. システム上の複数のアプリで処理されるドキュメント タイプを開く (メールで添付ファイルを開く場合など)
  3. 両方のアプリが同じ発行元によって開発されている場合、UIPasteboard、iCloud 共有キー/値辞書 (ただし、小さなデータセットのみ) を使用するか、共有キーチェーン ストアにアクセスするオプションがあります。

システム全体のペーストボードまたはアプリケーション固有のペーストボードを使用できるため、UIPasteboard にはいくつかの奇妙な動作があり、クリアされるかどうかは保証されません。

2 番目の質問 - フォルダー構造 - は OS のバージョンによって異なりますが、通常、すべてのアプリケーションは /var ディレクトリの下に保存され、その後に UUID を使用してアプリケーションを示すサブディレクトリ構造が続き、次にメインのアプリ バンドルが標準のアプリ バンドル構造で保存されます。 (Documents ディレクトリを含む)。

データとストレージの変更に関しては、繰り返しになりますが、一般的には「いいえ」です。一部のアプリは一時的なデータ ストレージに UIPasteboard を使用しますが、通常、元のアプリを作成していない限り、別のアプリケーション内でそれについて知ることはありません。

于 2012-07-03T18:33:37.237 に答える
0

一般的に、すべてのアプリは独自の作業ディレクトリにのみアクセスでき、すべてのデータをそこに保存します。したがって、他のアプリのデータにアクセスできるアプリはありません。

写真、名簿、カレンダーなどのAppleのアプリのいくつかを除いて。アプリは、明確に定義されたAPIを使用して、それらにアクセスし、いくつかの(制御された)変更を行うことができます。将来のiOSバージョン(iOS 6以降)では、サードパーティのアプリケーションがこれらのいくつかのAppleアプリのデータにアクセスできるかどうかをユーザーに尋ねられます。

アプリ間でデータを直接共有するためのAppleのファイルベースのソリューションはまだありません(1ファイルの例外であるクリップボードを除く)。

于 2012-07-03T18:26:13.010 に答える