Получение отладочных журналов - iPhone - PullRequest
0 голосов
/ 28 февраля 2012

В Android я использую android.util.Log для входа в приложение, а во время разработки я использую adb logcat или Eclipse для просмотра журналов - я использую его даже больше, чем для отладки ...

На устройстве я могу сохранить файл журнала из своего кода или использовать какое-либо приложение из Android Market для сохранения журналов - например, aLogCat .

Теперь я могу сделать то же самое на iPhone? Я могу использовать NSLog(@"message");, но могу ли я легко сохранить файл журнала из своего приложения и получить к нему доступ? Есть ли способы для этого?

С уважением, Sten

Ответы [ 3 ]

2 голосов
/ 28 февраля 2012

Это от NSFoundation ссылка

NSLog:

Просто вызывает NSLogv, передавая ему переменное число аргументов.

NSLogv:

Записывает сообщение об ошибке в средство Apple System Log (см. Man 3 asl). Если дескриптор файла STDERR_FILENO был перенаправлен за пределы по умолчанию или идет в tty, он также будет записан там. Если вы хотите направить вывод в другое место, вам нужно использовать пользовательские средства ведения журнала.

Таким образом, это всего лишь вопрос перенаправления дескриптора файла "stderr" (2) в пользовательский файл, и вы получите все, что вы печатаете, используя NSLog в этом файле.

Это , кажется, именно то, что вы хотите.

Обратите внимание, что если вы хотите получать журналы на консоли, когда вы подключены к отладчику, вы можете обернуть свой код вокруг этого, чтобы избежать перенаправления в этом случае:

if (!isatty(STDERR_FILENO)) { // Not connected to any terminal
    // your redirection code
}
1 голос
/ 28 февраля 2012

предыдущие ответы хорошие; также смотрите это , если вы склонны делать системные вызовы.

1 голос
/ 28 февраля 2012

Вы можете получить доступ к журналу консоли из Organizer-> Device-> Your device-> console.

Если это недостаточно мощно, рассмотрите возможность использования таких утилит, как NSLogger .

...