この質問 ( SQLite Database Copy ) から、読み取り専用にならないようにするには、インストール時に sqlite データベースをバンドルから作業ディレクトリにコピーする必要があることがわかります。しかし、データベースが巨大な場合はどうなるでしょうか? 本来の2倍のスペースを占有したくありません。バンドルからオリジナルを削除する方法はありますか? インストール後に使用されないバンドル内の大きなデータベースで多くのスペースを浪費しないようにする他の回避策はありますか? ありがとう!
質問する
117 次
3 に答える
1
非常に大きいとはどのくらい大きいですか?
また、ファイルの削除/名前変更/変更など、バンドルをいかなる方法でも変更することはできません。
データベースを変更する場合は、バンドルからコピーする必要があります。
ただし、Apple はスペース不足に対する解決策を用意しています。データを再作成できる場合は、データベースをドキュメント フォルダーではなくキャッシュ フォルダーにコピーする必要があります。そうすれば、クラウドにプッシュされず、デバイスの空き容量が少ない場合、ios によって自動的に消去されます。
于 2012-11-08T13:42:22.977 に答える
0
もう 1 つの方法は、バンドルに sqlite データベースを埋め込む代わりに、インストール時に sql ステートメントを使用してプログラムでデータベースを作成することです。
于 2012-11-08T14:14:26.970 に答える
0
アプリケーション バンドル リソース ディレクトリからファイルを削除する方法はありません (読み取り専用)。DB が大きすぎてコピーできない場合は、アプリケーションの初回起動時にデータベースをダウンロードすることをお勧めします。
于 2012-11-08T13:37:03.847 に答える