ios7 SQLite/Core Dataスタックの新しいWALデフォルト設定について、多くのスレッドを読んでいます。ios7 WALを使用したsqliteデータベースはメインデータベースファイルを同期しません
最初は良いアイデアのようでした...私のビジネスニーズに応じて、離れたWebサービスにデータベースコピーを実行する必要があります。現時点では、私はSQLiteファイルのみをバックアップしています。私が使用しているwebservice操作に2つのファイルを追加することはできません。これは、私のバックアップが明らかに最新ではないので、とても無意味であることを意味します。
他の人には、私には許容可能な回避策であるjournal_mode = DELETE(NSSQLitePragmasOption)を使用してWALを無効にすることをお勧めします。それでも、私はこれに慣れていません。かなり上品なパフォーマンスバンプに欠けているような気がする。
理想的には、コアデータ/ SQLiteにSHM/WALをメインデータファイルと同期させてバックアップを実行するように伝えたいと思っています。奇妙なプライベートAPIまたはドキュメント化されていないAPIを掘り起こすことなく、そうする方法はありますか?
どのような解決方法がありますか? –
私は同じ問題を抱えています。私はios6からios7に移行していますが、ios6には.sqliteファイルしか保存されていないようです。しかし、ios7には.shmと.walファイルがあります。私はfileWrapperを使用してファイルを1つのファイルに保存します。 iOS7で* .shmと* .walを無効にしていない場合、iOS6はiOS7にバックアップされたファイルを使用できません。 – JimZ
簡単なオプション(以前のデフォルトモード)に行きました。私は良い解決策を見いだせなかった。 –