2012-03-06 6 views
0

ここでは、約2ダースの記事を参照して回答を探しています。誰もこの問題に対処していないようです -iOSデータ保管ガイドラインキャッチ22

かなり大きなデータベース(5MBのオーダー)を持つアプリケーションがあります。オフラインで作業する場合、アプリケーションにはDBが必要です。 DBは、オンラインでサーバからダウンロードすることで再作成できます。

政府のプライバシー基準を満たすためにデータを暗号化する必要があるため、私たち自身のDBの代わりにコアデータを使用することはできません。

このデータベースなしではアプリケーションはオフラインで機能できないため、ライブラリ/キャッシュには移動できません。

iOS 5の場合、ドキュメントにデータを配置して「バックアップしない」とマークできますが、その属性が認識されないため、iOS 4では機能しません。

iOS 4のデータベースで何ができるのですか?

+0

あなたの要件では、デバイスで暗号化する必要があるだけでなく、デバイスが同期されているときにコンピュータにバックアップできないという要件が規定されていますか? – QED

+0

@psoft - 再作成するデータが既に当社のサーバーにバックアップされていることを除いて、バックアップについては何も規定されていません。 –

+0

@HotLicks "政府のプライバシー基準を満たすために暗号化"できるの?あなたが指し示すことができる標準はありますか? –

答えて

0

ちょうど私の頭の上から外れています。

NSManagedObjectをサブクラス化して、コアデータに保存されたデータを暗号化し、読み込んだときにそのデータを復号化できると思います。しかし、CPUにはかなりのオーバーヘッドがあります。それを最適化するには多少の余裕があるかもしれません。

はこれをチェックしてください:AES Encryption for an NSString on the iPhone

+1

文字列で文字列を暗号化することは、非常に複雑でエラーが発生しやすく、ひどく非効率的で、重大な安全性がありません。 –

0

(sandbox)/Library/Application Supportでそれを入れてください。 AppleがApplication Supportフォルダをどのように記述しているかは次のとおりです。

アプリケーションが作成し管理するリソースファイルとデータファイル。このディレクトリを使用して、アプリケーションの状態情報、計算されたデータまたはダウンロードされたデータ、またはユーザーの代わりに管理するユーザー作成データを格納することができます。

Apple's File System Programming Guide for iOSから引用。

+0

データストレージガイドラインのいずれにもアプリケーションサポートは記載されていません。再送信に関連する時間/コスト(実際に提出することを顧客が強く要望していることを考えると、特に私たちの場合)を考えれば、この解決策が受け入れられるかどうかは確かに分かります。 –