web-dev-qa-db-ja.com

Core Dataに保存されたデータをどのように表示しますか?

アプリケーションのコアデータモデルを作成しています。私はその中を見て、そこに何が保存されているかを見てみたいと思います。

バッキングストアを検索するよりも簡単な方法(私のものはSQLiteである必要があります)、そこから読み取る方法はありますか?アップル風のようには見えません。

42
Frank

アプリがシミュレータで実行され、永続ストアファイルが作成されると、アプリのDocumentsディレクトリでファイルを見つけることができます。

アプリは内部のフォルダーになります(〜はホームディレクトリです):
〜/ライブラリ/ Application Support/iPhone Simulator/User/Applications /

「変更日」で並べ替えて、作成したアプリを見つけます。

SQLiteファイルを表示するには、 Base および/または Core Data Editor を確認してください。

53
gerry3

FireFoxのアドオンツールSQLite Manager(FREE)を使用することもできます。私はそれを使用し、それはうまく機能します。

21
RoLYroLLs

CoreDataProと呼ばれる少し無料のツールを試すことができます。かなりいい。 ここ

11
smileBot

IOS 10を使用している場合は、SwiftをAppDelegate.Swiftに取得します。

  let container = NSPersistentContainer(name: "***")
  print(container.persistentStoreDescriptions.first?.url)

次に、そのようなものが表示されます。

Optional(file:///Users/<SomeUser>/Library/Developer/CoreSimulator/Devices/956F0003-5DA4-4588-97C1-A9A83767F341/data/Containers/Data/Application/9765FDE1-6971-4706-987B-96FBD3F462BF/Library/Application%20Support/***.sqlite)
11
Lyanch

このスレッドを更新して、iphoneシミュレーターの場所をXcode7とXcode8の別の場所に移動しました。現在は次の場所にあります。

〜/ Library/Developer/CoreSimulator/...

ここで〜はホームディレクトリです。

以前のソリューションは引き続き機能しますが、以前のリンクを使用すると正しいフォルダーを見つけることができません。

5
Diesel
5
barfoon

Sqliteデータベースブラウザも試してください。その自由とその事実を反映しています。とっても便利!

cheers.bo

2
roberthuttinger

Core Dataコンテンツを閲覧するためのmacOSアプリを作成しました。 SQLiteブラウザを使用するときに表示されるように、Core Dataの実装を隠します。また、最新の実行アプリとシミュレーターをすべてリストすることもできます。これにより、探しているアプリを簡単に見つけることができます。詳細はこちら:

http://www.microedition.biz/simMagnifier

これには、ドキュメント、アプリケーションサポートなど、シミュレータのフォルダへのアクセスなどの他の機能があります。NSUserDefaultsの内容も確認できます。

アプリは無料ではありません申し訳ありません!しかし、少なくとも7日間の試用版があります。

1
Pablo Romero

3つの簡単なステップ

  1. liyaアプリケーションのインストール、無料、サイズ3.1 MB、1分でインストールされます。
    リンク https://iTunes.Apple.com/us/app/liya/id455484422?mt=12

  2. Finderを開き、「Ctrl + G」を押しますOR「CMD + Ctrl + G」、貼り付け〜/ Library/Developer /
    開発者フォルダーで、コアデータモデル名を検索します(eg. MyProjectModel).

  3. 開いた MyProjectModel.d fileまたはliyaを使用した「MyProjectModel.sqlite」。 liyaで、テーブルを選択し、「SQLコマンドの実行」をクリックします。

できた.

1
nikdange_me

ここに完全なパスがあります。明らかに、gerry3の答えから変更されたようです。

~/Library/Application Support/iPhone Simulator/<Simulator>/Applications/<ApplicationID>/Documents/<NAME>.sqlite

したがって、正しいパスは次のようになります。

~/Library/Application Support/iPhone Simulator/7.1-64/Applications/C1F3C2E5-987A-4DF7-91EF-955AE6E52621/Documents/TestApp.sqlite
1
hashier