3

アプリで「データ保護」をオンにしたいです。また、最初は使っていなかったので、既存のアプリで動作するかどうかを確認したかったのです。これをテストするために、開発者プロビジョニング プロファイルを使用しました。最初に、以前のアプリ (DataProtection はオフ) をパス コード対応デバイスにインストールし、ユーザーのドキュメントが Documents フォルダーで利用できることを確認しました。次に、プロビジョニング プロファイルでデータ保護を有効にし、その新しいプロファイルを使用してアプリを再構築しました。次に、以前のアプリの上にインストールしました。次に、デバイスをロックし、Xcode を使用してアプリ サンドボックスをダウンロードしたところ、問題なくサンドボックスにアクセスできることに気付きました。何度かやりましたが、サンドボックスはまだアクセス可能です。

次に、アプリを削除し、データ保護を有効にしたアプリを新たにインストールしました。次に、アプリ サンドボックスをダウンロードしたところ、ドキュメント フォルダーを含むサンドボックス内のすべてのフォルダーが空であることに気付きました。

つまり、データ保護は、新しくインストールされたアプリでのみ機能します。私は何か間違ったことをしていますか?既存のアプリでもデータ保護を有効にしたいと考えています。どうすればこれを達成できますか?

4

1 に答える 1

1

私はこの質問に十分な注意を払っていなかったので、Apple 開発者フォーラムに投稿しました。彼らが提案したのは、データ保護を有効にした後、アプリを更新する場合(古いアプリを削除せずに)、古いものを含むすべてのファイルに対してデータ保護を明示的に設定する必要があるというものでした。

そこで私がしたことは、ドキュメント フォルダをループして、すべての古いファイルにデータ保護属性を設定することでした。また、新しいファイルを作成するすべての場所にデータ保護属性を設定します。それは私の問題を解決します。

したがって、肝心なのは、古いアプリでデータ保護を有効にする場合は、明示的に行う方がよいということです。

于 2014-10-24T07:13:25.187 に答える