Question

According to Apple documentation on debugging Core Data it says we should be able to pass an argument to the application which will output the SQL core data sends to SQLite.

I have gone into the arguments tab of my executable in XCode and specified the arguments:

-com.apple.CoreData.SQLDebug 1

However, I see no SQL in the console. I then tried to use this parameter in the CoreDataBooks application provided by Apple just in case there was some other issue in MY program.

Even in Apple's example I get no SQL output in the console.

Am I doing something wrong? Is Apple's documentation wrong? Should I be looking someplace other than the console? Has anyone else had success with this argument?

UPDATE: Apple has since fixed the output bug with newer releases of XCode; however, to be clear on the final solution:

The arguments are two separate arguments and should be entered in the arguments tab as such. -com.apple.CoreData.SQLDebug is one parameter and the value 1 is the second parameter.

Was it helpful?

Solution

XCode 4 (final) seems to be inconsistent.

Using one argument works on the device, but fails in the simulator:

-com.apple.CoreData.SQLDebug 1

Using two arguments works on the device and in the simulator:

-com.apple.CoreData.SQLDebug

1

OTHER TIPS

Are you entering those as a single argument? It should be 2 arguments: "-com.apple.CoreData.SQLDebug" and "1".

More Info: You're actually overriding a "default" here. Take a look at the Apple Docs on argument-based defaults for more information. You'll see that the name and value are 2 separate arguments.

I too banged my head against this for a while. Turns out SQLDebug with Core Data is not supported on iPhone yet. It is tracked by Apple bug ID 6868205.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top