2013-08-17 6 views
5

私のiPhoneシミュレータアプリに含まれているCore Dataの内容をコマンドラインから見たいと思っています。コアデータの内容を見る

私は~/Library/Application Support/iPhone Simulator/7.0/Applicationsに「cd'ing」を試してみました、その後、私のアプリが含まれているこれらのディレクトリのどの見つけることfind . -name MyAppNameを使用してきました:

29EB3FF9-4691-474D-8B05-AB168899D528 4C25697B-04D9-4B48-BE5E-D1E9B2E03381 A1DF7916-AE39-4367-BFD2-22A8BAA2AFD2 BDB577A8-0BCF-4E58-896B-D4E704F261D0 CC3CC638-E39D-4AE7-8580-4E8BBD375DC4 D11D7C57-5578-4531-85BB-71AE6DD68B2F 

そこで私は、このフォルダ内の「ドキュメント」フォルダに移動しますが、私が見る唯一の "sqlite"ファイルはCoreDataTabBarTutorial.sqlite CoreDataTabBarTutorial.sqlite-shm CoreDataTabBarTutorial.sqlite-walです。 (EDIT:私は実際にpersistentStoreCoordinatorURLからCoreDataTabBarTutorial.sqliteという名前を付けました)。

私のオブジェクトは "Core Data"に挿入されると確信していますが、Interface Builderの起動時にオブジェクトが保持されないようです。私はそれをデバッグしようとしています。

+0

*実際に*意味することは、SQLLite-back CoreDataストアの内容を表示したいということですか?私はまた非常に混乱していますが、Interface Builderの起動間にそれらが持続しないように見えます。*これは本当に何を意味していますか? – marko

+0

永続ストアを作成するときに、初期化に使用するタイプと名前を確認します。 –

+0

ありがとう、私は 'persistentStoreCoordinator'の' URL'を 'CoreDataTabBarTutorial.sqlite'に設定していました。 –

答えて

5

コアデータは、sqliteを使用してデバイスに保存されます。

sqlite3 CoreDataTabBarTutorial.sqliteを使用すると、コマンドラインからデータベースを表示できます。任意の値を表示するには、さまざまなsqlite3コマンドとSQLを使用する必要があります。 See Docs

.table will list the tables 
select * from ZYOURTABLENAME; (do not forget semi-colon) will display the rows. 

はSQLiteのデータベースを表示するためのGUIツールですMac app called Baseがあります。

-4

ファイルを非表示にしてください。 defaults write com.apple.Finder AppleShowAllFiles 1 && killall Finder ファイルを再度検索してください。

2

私が知る最も簡単な方法は、CoreDataUtilityです。

ただ、次の手順を実行します。

  1. は、最新のバイナリhttps://github.com/yepher/CoreDataUtility/wiki
  2. 解凍をダウンロードして、アプリ
  3. 選択メニュー - >ファイル - >新規プロジェクト
  4. を実行
  5. "iOSシミュレータ" タブを選択します"Simulator App"ボタンを選択してください
  6. ドロップダウンリストからアプリケーションを選択し、OKを選択してください
  7. を選択し、「ファイル」ボタンをクリックし、二つのディレクトリ
  8. に選択ドキュメントをナビゲートして、「持続性」のファイルを見つける(それはCoreDataTabBarTutorial.sqliteという名前になりますか、あなたのコード内で初期化するものは何でも)
  9. 「SQL」が選択されていることを確認
  10. 「開く」をクリック
  11. 「ファイル」 - >「プロジェクトを保存」をクリックすると、次回にプロジェクトファイルをダブルクリックすることができます。
0

私は、これは超古い質問です知っているが、私は最近、あなたのアプリのデバッグ中に、あなたのコアデータストアの内容を表示することができます小さなシンプルなライブラリーを書きました。むしろCheck it out here

は、管理対象オブジェクトがRWCoreDataInspectorプロトコルのメンバーでお使いPodfile

pod 'RWCoreDataViewer', :git => 'https://github.com/richmondwatkins/RWCoreDataViewer' 

に追加するSQLビューアをダウンロードすることよりも、あなたが作業しているアプリ内のカスタムポップアップビューアを提供します。

RWCoreDataViewer.initialize(self.managedObjectContext) 

そして、それのthats:

import Foundation 
import CoreData 
import RWCoreDataViewer 

class MyEntity: NSManagedObject, RWCoreDataInspector { 

} 

あなたのデータを表示するにはちょうどに貼り付ける(ちょうどあなたのクラス宣言に含めるここで実装するためには何もありません)。あなただけの初期化子を追加し、あなたのsqliteのファイルのパスを知るために、あなたのエンティティとその記録

4

のすべてとカスタムビューを取得しますが、これらのステップ

1に従ってください、あなたのデータを表示したいときはいつでも)プロジェクトのAppDelegateを開きます。

2)が存在しなければなりません(あなたのプロジェクトを作成中に使用CoreDataをチェックした場合のみ)として宣言してVARを存在:

怠惰のvar persistentStoreCoordinator:NSPersistentStoreCoordinator = {

3)検索この

のlet URL = self.applicationDocumentsDirectory.URLByAppendingPathComponent(「SingleViewCoreDのような行あなたのアプリを実行します(URL)」)

5)コンソールでこのURLを見つける:ata.sqlite persistentStoreCoordinatorのURL ")

4)

プリント(としてこのURLを印刷します" ///ユーザ/ P: 6)は、ファイル(URL、開放端子、タイプのCDは、その後 URLが

ようになり、このURLを貼り付けることをコピーしますrnjls /ライブラリ/開発/ CoreSimulator /デバイス/ A2B99983-4B71-4708-A515-7A87463ECF0C /データ/コンテナ/データ/アプリケーション/ F70EF393-FBF7-4598-B28B-9DAACBFE46F8 /ドキュメント/ SingleViewCoreData.sqlite)

7)sqliteデータを表示する無料アプリをダウンロードしてインストールするhere

8)ファイルを開く - >新規 - >データベースタイプでsqliteを選択 - >近くのアイコンをクリック - >そのsqliteファイルに移動するコピーしたパスを使用します。

9)保存したすべてのエンティティが任意のエンティティ名にタップして表示されます。をクリックします。SQLコマンドを実行します。 それだけです。とにかく誰かを助けてくれることを願っています。

関連する問題