Как получить аргумент отладки CoreData для вывода на консоль?
Согласно документации Apple по отладке Core Data говорится, что мы должны иметь возможность передавать аргумент приложению, которое будет выводить данные ядра SQL, отправляемые в SQLite.
Я вошел во вкладку аргументов моего исполняемого файла в XCode и указал аргументы:
-com.apple.CoreData.SQLDebug 1
Тем не менее, я не вижу SQL в консоли. Затем я попытался использовать этот параметр в приложении CoreDataBooks, предоставленном Apple, на случай, если в МОЕЙ программе будет какая-то другая проблема.
Даже в примере с Apple я не получаю вывод SQL в консоли.
Я делаю что-то неправильно? Документация Apple неверна? Должен ли я искать в другом месте, кроме консоли? Кто-нибудь еще имел успех с этим аргументом?
ОБНОВЛЕНИЕ: Apple с тех пор исправила ошибку вывода с более новыми выпусками XCode; однако, чтобы быть ясным по окончательному решению:
Аргументы являются двумя отдельными аргументами и должны быть введены на вкладке аргументов как таковые. -com.apple.CoreData.SQLDebug - это один параметр, а значение 1 - второй параметр.
3 ответа
XCode 4 (окончательный вариант) кажется несовместимым.
Использование одного аргумента работает на устройстве, но не работает в симуляторе:
-com.apple.CoreData.SQLDebug 1
Использование двух аргументов работает на устройстве и в симуляторе:
-com.apple.CoreData.SQLDebug
1
Вы вводите их как единый аргумент? Должно быть 2 аргумента: "-com.apple.CoreData.SQLDebug" и "1".
Больше информации: вы на самом деле переопределяете "по умолчанию" здесь. Посмотрите Apple Docs на аргументах по умолчанию для получения дополнительной информации. Вы увидите, что имя и значение являются двумя отдельными аргументами.
Я тоже долго бился об это. Оказывается, SQLDebug с Core Data еще не поддерживается на iPhone. Отслеживается идентификатором ошибки Apple 6868205.