web-dev-qa-db-ja.com

Xcode 4とコアデータ:SQLデバッグを有効にする方法

私は普遍的なiOSアプリに取り組んでおり、デバッグ時にログに生のSQLを表示したいと思います。 iOS Core Data開発のために生のSQLロギングを有効にする方法についての情報があります このブログ投稿 与えられた例はXcode 3用であり、Xcode 4でこれを有効にする方法が明確ではありません。

「製品」->「スキームの編集」を試し、「-com.Apple.CoreData.SQLDebug 1」を「起動時に渡される引数」に追加しました「しかし、まだログに出力が表示されません。間違った場所を探しているのか、単に引数を間違って渡しているのかわかりません。

101
oalders

NSLOGSを取得するのと同じ場所を見てください。

[製品]-> [スキームの編集]-> [左パネルからYOURAPP.appを実行]を選択し、メインパネルの[引数]タブに移動します。

そこで、起動時に渡される引数を追加できます。

-com.Apple.CoreData.SQLDebug 1を追加する必要があります

[OK]を押すと、すべての設定が完了します。

ここで重要なのは、テストに使用するスキームを編集することです。

148
Nicolas S

XCode 4

NSZombieEnabledを管理するのと同じ場所にあります

製品->スキームの編集-> YouApp.appデバッグの実行

[起動時に渡された引数]の下に正確に貼り付けます。

-com.Apple.CoreData.SQLDebug 1

警告-これは非常に冗長です。コアデータの問題がある場合、これは一見の価値があるかもしれませんが、間違ったことについて必要以上の情報になる可能性もあります。

20
OverToasty

私はこれに問題を抱えていて、それがばかげた省略であることに気づきました。 Xcode (4.3.1)に引数を入力したときに、先頭のハイフンを省略しました。コマンドラインで入力した場合はそうしませんでしたが、GUIでは省略していました。 2つの個別の引数を入力する場合と1つを入力する場合の違いは見つかりませんでした(一部の投稿が示唆しているように)。だから使用する:

-com.Apple.CoreData.SQLDebug 1

単純ではありません:

com.Apple.CoreData.SQLDebug 1

それはシミュレータと実際のデバイスの両方で私のために働いた

5
user730458

渡される値の異なるレベルに入れることができることに注意してください。より多くの冗長性を提供します。

-com.Apple.CoreData.SQLDebug 1
-com.Apple.CoreData.SQLDebug 2
-com.Apple.CoreData.SQLDebug 3
-com.Apple.CoreData.SQLDebug 4 // This will actually show parameter binds ("?")
1
netigger