Xcode 4 и Core Data: как включить отладку SQL - PullRequest
101 голосов
/ 21 июня 2011

Я работаю над универсальным приложением для iOS и хотел бы видеть необработанный SQL в журналах при отладке. В этом сообщении содержится некоторая информация о том, как включить необработанное ведение журнала SQL для разработки основных данных iOS. Данный пример для Xcode 3, и мне просто не ясно, как включить это в Xcode 4.

Я попробовал «Product» -> «Edit Scheme» и добавил « -com.apple.CoreData.SQLDebug 1 » в «Arguments Passed on Launch», но я все еще не вижу любой вывод в логах. Не уверен, что я смотрю не в том месте или просто передаю аргументы неправильно.

Ответы [ 4 ]

148 голосов
/ 21 июня 2011

Вы должны смотреть в то же место, где вы получаете NSLOGS

И вам нужно перейти в Product -> Edit Scheme -> Затем на левой панели выбрать Run YOURAPP.app и перейти на вкладку Arguments на главной панели..

Там вы можете добавить аргумент, пройденный при запуске.

Вы должны добавить -com.apple.CoreData.SQLDebug 1

Нажмите OK, и все готово.

ключом здесь является редактирование схемы, которую вы будете использовать для тестирования.

20 голосов
/ 12 февраля 2012

XCode 4

Там же я управляю своим NSZombieEnabled

Product -> Edit Scheme -> Run YouApp.app Debug

В разделе "Аргументы переданы при запуске"", вставьте точно:

-com.apple.CoreData.SQLDebug 1

Предупреждение - этот материал очень многословен, если у вас возникли проблемы с Core Data, возможно, это стоит посмотретьна, но это также может быть больше информации, чем вам нужно о неправильной вещи.

5 голосов
/ 22 апреля 2012

У меня была проблема с этим, а затем я понял, что это глупое упущение, которое, как я полагаю, является ошибкой для некоторых из вас.Когда я ввел аргумент в Xcode (4.3.1), я пропустил ведущий дефис.Я бы не сделал этого, если бы вводил его в командной строке, но в графическом интерфейсе я его пропустил.Я не нашел никакой разницы между входом в 2 отдельных аргумента или один (как предлагали некоторые сообщения).Поэтому используйте:

-com.apple.CoreData.SQLDebug 1

, а не просто:

com.apple.CoreData.SQLDebug 1

, который работал для меня как на симуляторе, так и на реальном устройстве

1 голос
/ 27 октября 2018

Обратите внимание, что вы можете указать разные уровни переданного значения.Которые обеспечивают все больше и больше многословия.

-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 ("?")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...