3

新しいXcode 5ビルドの前に、プロジェクトからファイルを参照することで、データを活用したコア アプリにデータを事前に読み込むことができました。ただし、をアップグレードして以来XCode、json データは 3 つのファイルに保存されるようになりました。

  1. 空の .sqlite ファイル

  2. .sqlite-wal ファイル

  3. .sqlite-shm ファイル。

このデータをアプリにインポートするにはどうすればよいですか?

sqlite以前は、ファイルをコピーするだけで済みました。さて、どのファイルをコピーすればよいかわかりません。

4

5 に答える 5

2

ここで@Lukasz Kowalskiが提供するFIREFOXアドオンを使用してデータベースを「圧縮」することは、10.9.1 / Xcode 5 / iOS 7で確認できます。手順を明確にするために... Firefoxをダウンロードしてから、彼のSQLite Managerアドオンを入手してください.

  1. PersistentStore、PersistentStore-wal、および PersistentStore-shm ファイルを含む StoreContent フォルダーをデスクトップにコピーして、以前と同様に機能する単一の iOS7 以前の UIManagedDocument データベースに再結合します。場所:

    ~/Library/ApplicationSupport/iPhoneSimulator/7.xx/Applications/gobble-d-gook/APPNAME/Documents/APPNAMEDatabase/StoreContent/{your database files}
    
  2. Firefox を起動し、ウィンドウを開き、メニューの [ツール] > [Sqlite Manager] から

  3. SQLite Manager を使用してデータベースを開きます: デスクトップ > StoreContent > PersistentStore
  4. [メニュー] > [コンパクト データベース] オプションから選択します。
  5. メニューから選択 > データベースを閉じる
  6. 終わり!それらは組み合わされています。
于 2014-01-07T19:21:32.653 に答える
1

Apple の開発者サイトから、古い方法 (iOS 7 より前) で動作するコア データを取得し、sqlite ファイルだけを生成するには、これをpersistentStore addStore メソッドの options パラメータの下に追加する必要があることがわかりました。

 @{ NSSQLitePragmasOption : @{ @"journal_mode" : @"DELETE" } }

これが、この問題に遭遇した他の人に役立つことを願っています。

乾杯

于 2013-10-25T17:06:57.763 に答える
0

.sqlite、.sqlite-wal、および.sqlite-shmの3つのファイルがある場合、1つの.sqliteファイルを作成する解決策を見つけました。これを行うには、Firefox 用の「SQLite Manager」アドオンを使用する必要があります ( https://addons.mozilla.org/pl/firefox/addon/sqlite-manager/?src=userprofile ):

  1. Firefox にアドオンをインストールして実行する
  2. iPhone Simulator のアプリのディレクトリから coredata .sqlite を開きます
  3. 1つの.sqliteファイルを生成するコンパクトデータベースを使用してください:)
  4. 古い方法 (XCode 5 より前) を使用して、アプリケーションに .sqlite を含めることができるようになりました
于 2013-12-29T15:08:27.483 に答える