Как заставить аргумент CoreData Debug выводить на консоль?

Согласно Apple в документации по отладке Core Data говорится, что мы должны иметь возможность передавать аргумент приложению, которое будет выводить данные ядра SQL, отправленные в SQLite.

Я перешел на вкладку аргументов моего исполняемого файла в XCode и указал аргументы:

-com.apple.CoreData.SQLDebug 1

Однако я не вижу в консоли SQL. Затем я попытался использовать этот параметр в приложении CoreDataBooks, предоставленном Apple, на случай, если в МОЕЙ программе возникла какая-то другая проблема.

Даже в примере Apple я не получаю вывода SQL в консоли.

Я делаю что-то неправильно? Документация Apple неверна? Стоит ли искать где-нибудь, кроме консоли? Кто-нибудь еще добился успеха с этим аргументом?

ОБНОВЛЕНИЕ: Apple с тех пор исправила ошибку вывода в новых выпусках XCode; однако, чтобы прояснить окончательное решение:

Аргументы - это два отдельных аргумента, и их следует вводить на вкладке аргументов как таковые. -com.apple.CoreData.SQLDebug - это один параметр, а значение 1 - второй параметр.


person radesix    schedule 05.05.2009    source источник
comment
Думаю, вы найдете ответ в следующей ссылке: useyourloaf.com/blog/2010/3/11/ Ура :)   -  person David Faitelson    schedule 10.06.2010
comment
SQLDebug поддерживается на устройстве и в симуляторе. Я призываю вас изменить правильный ответ.   -  person Heath Borders    schedule 22.06.2012
comment
Чтобы быть ясным, вы счастливы найти время, чтобы написать грамматически ошибочный и снобистский ответ, но вы не будете обновлять ответ на благо сообщества. Вам могут платить за написание программного обеспечения, но я бы не назвал вас профессионалом.   -  person Heath Borders    schedule 24.07.2012
comment
Считаете ли вы, что неправильный ответ лучше подходит для исторического контекста? Почему бы не изменить ответ? Я уважаю ваше решение оставить ответ неверным, если у вас есть разумная цель, но сделать это назло вредит сообществу.   -  person Heath Borders    schedule 24.07.2012
comment
Это по-прежнему актуально. Это был лучший результат при поиске аргументов отладки CoreData. Таким образом, важно, чтобы ответ был правильным.   -  person Heath Borders    schedule 24.07.2012
comment
Ответ @ richardsun (у которого 13 голосов) правильный.   -  person Heath Borders    schedule 25.07.2012
comment
позвольте нам продолжить это обсуждение в чате   -  person radesix    schedule 25.07.2012


Ответы (3)


XCode 4 (окончательный) кажется непоследовательным.

Использование одного аргумента работает на устройстве, но не работает в симуляторе:

-com.apple.CoreData.SQLDebug 1

Использование двух аргументов работает на устройстве и в симуляторе:

-com.apple.CoreData.SQLDebug

1

person richardsun    schedule 13.03.2011
comment
Начиная с XCode 4.x, использование одного аргумента, такого как -com.apple.CoreData.SQLDebug 1, работает в симуляторе. Тот же результат по-прежнему возникает, если вы используете два отдельных аргумента. - person jmstone617; 03.08.2012
comment
Это работает как единственный аргумент для симулятора в Xcode 6. - person Jedidja; 20.06.2015

Вы вводите их как единый аргумент? Должно быть 2 аргумента: «-com.apple.CoreData.SQLDebug» и «1».

Дополнительная информация: здесь вы фактически отменяете "значение по умолчанию". Взгляните на Документы Apple о значениях по умолчанию на основе аргументов для получения дополнительной информации. Вы увидите, что имя и значение - это два отдельных аргумента.

person Jesse Rusak    schedule 05.05.2009
comment
Джесси, даже если я приведу эти два отдельных аргумента, я все равно не получу дополнительных результатов в консоли. - person radesix; 05.05.2009

Я тоже некоторое время бился об это головой. Оказывается, SQLDebug с Core Data пока не поддерживается на iPhone. Он отслеживается идентификатором ошибки Apple 6868205 .

person Community    schedule 04.08.2009
comment
SQLDebug поддерживается на устройстве и в симуляторе. Я призываю вас изменить правильный ответ. - person Heath Borders; 22.06.2012