Какой лучший способ записать отладочную информацию в приложение для iPhone? - PullRequest
12 голосов
/ 10 декабря 2008

Есть ли какой-то стандартный способ или кто-то написал что-то, что позволяет вам регистрировать сообщение и отображать его в небольшом разделе прокрутки на экране iphone или в отдельном окне в симуляторе iphone?

Обновление: Для таких нубов, как я и не знаю, используйте методы NSLog, как описано ниже, и убедитесь, что вы выбрали Run-> Console для отображения консоли.

Все еще хотел бы знать, написал ли кто-нибудь простой регистратор, который отображается на самом iphone ....

Ответы [ 5 ]

12 голосов
/ 11 декабря 2008

Мне не хватает «репутации», чтобы добавить прямой комментарий к вашей публикации, но: не забудьте зайти в XCode-> Preferences-> Debugging-> On Start: выберите Show Console & Debugger

Конечно, вы можете выбрать только консоль или что-то еще, но вы, вероятно, захотите отладчик. Чтобы использовать это, просто нажмите слева от строки, которую вы хотите разорвать. Вы также можете переключиться с «Активировать» на «Деактивировать», чтобы, если вы знаете, что есть несколько точек останова, которые вам не нужно нажимать в начале вашего приложения, установите для отладки значение «Неактивно» (в окне отладки) и затем прежде чем вы нажмете на элемент пользовательского интерфейса в своем приложении, которое хотите отладить, переключите эту же кнопку в положение «Активировать», чтобы ваши контрольные точки стали активными. В противном случае вы можете просто нажать «Продолжить», пока не дойдете до своего раздела.

Кроме того, в NSLog, если вы начинаете накапливать кучу операторов журнала, и вам нужно «найти» один из них, это поможет: NSLog (@ "\ n \ n \ nМой оператор \ n \ n \ n); что даст кучу разрывов строк. Также для непосвященных:

NSLog(@"My int: %d my BOOL: %d", myInt, myBOOL);
NSLog(@"My object of any NSObject: %@", anObjectOfAnyKind);
NSLog(@"My float: %f",myFloat);

Надеюсь, что все это полезно, и извините, если я сошел с пути с битом отладки;)

10 голосов
/ 10 декабря 2008

Метод Objective-C (более правильный, действительно) -

NSLog(@"message");

Но стандартный метод C также будет работать

printf("message");
3 голосов
/ 10 декабря 2008

Использовать NSLog (@ "Log message");

2 голосов
/ 23 ноября 2009

Если у вас есть приложение, которое аварийно завершает работу, то вы можете спросить пользователей, у вас есть журнал сбоев. Журнал сбоев содержит информацию о том, что приложение делало в случае сбоя, и трассировку стека.

Файлы журналов приложений iPhone также хранятся на компьютере пользователя и копируются при каждой синхронизации их iPhone. (Обратите внимание, что DEVICE_NAME будет тем же именем вашего iPhone в iTunes, и каждый файл журнала будет начинаться с названия приложения.)

Mac OS X: / Библиотека / Журналы / CrashReporter / MobileDevice //

Windows XP: C: \ Documents and Settings \ Данные приложения \ Компьютер Apple \ Logs \ CrashReporter \

Windows Vista: C: \ Users \ AppData \ Roaming \ Apple, компьютер \ Logs \ CrashReporter \ MobileDevice \

0 голосов
/ 17 ноября 2015

Для Swift это просто

print("log msg")
...