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

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

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

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

10.12.2008 11:45:21
5 ОТВЕТОВ
РЕШЕНИЕ

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

NSLog(@"message");

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

printf("message");
10
10.12.2008 12:10:59
Никогда не рано привыкать: NSLog (@ "% @", @ "message"); Когда вы позже выполните рефакторинг или вырезаете и вставляете, будет сложнее ввести ошибку форматной строки.
Brad The App Guy 26.01.2009 03:35:32

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

3
10.12.2008 11:52:01

Мне не хватает «репутации», чтобы добавить прямой комментарий к вашей публикации, но: не забудьте зайти в 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);

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

12
11.12.2008 01:50:02

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

Файлы журнала приложений 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 \

2
22.11.2009 22:01:34
Журнал консоли также копируется?
mahboudz 12.01.2010 21:26:23

Для Свифта это просто

print("log msg")
0
16.11.2015 23:55:35