Подтвердить что ты не робот

NSLog не печатает на консоль

У меня есть проект Xcode, над которым я работал в течение нескольких месяцев. У меня никогда не было проблем с NSLog, но после обновления до Xcode 4.2 ничто не будет входить в консоль. Я даже попытался бросить это в viewDidLoad:

    - (void)viewDidLoad
{
    [super viewDidLoad];

    NSLog(@"Can anyone hear me?");

И ничего. Кто-нибудь еще имеет эту проблему или знает решение?

4b9b3361

Ответ 1

Ну, это неудобно. Консоль каким-то образом деактивировалась, и я фактически смотрел окно переменных. Нажатие Shift + + C сделало трюк.

Большое спасибо Роберту Кингу в этой теме:

https://devforums.apple.com/message/565880#565880

Ответ 2

Это ошибка Xcode8 + iOS10, мы можем решить ее следующим образом:

При включении симулятора добавьте имя OS_ACTIVITY_MODE и значение Переменные disable и проверьте его (Product → Scheme → Edit Scheme → Run → Arguments → Environment). введите описание изображения здесь

При включении устройства добавьте только OS_ACTIVITY_MODE и проверьте его (не добавляйте значение). Вы увидите NSLog в консоли Xcode8. введите описание изображения здесь

Ответ 3

Моя проблема в том, что я выбрал Отладочный вывод. Как только я изменил его на Все выходные или целевой вывод, NSLogs выглядят нормально.

Если это смущает вас в левой части области отладки.

Ответ 4

В iOS10 на консоли отображается много системных протоколов. Это можно отключить, включив OS_ACTIVITY_MODE = отключен в параметрах запуска для вашей схемы.

Однако для iOS10 сообщения NSLog больше не будут отображаться. В более низких версиях iOS сообщения будут отображаться. Поэтому, возможно, для большинства тестовых примеров вы можете использовать более низкую версию iOS.

В противном случае вы можете включить функцию Swift, которая печатает (функция печати) вашего текста, это работает в iOS10.

Протестировано на iOS10.0.2 и iOS9.3

Ответ 5

Моя проблема заключалась в том, что я случайно отключил реферирующий выход от App Delegate (делегат - владелец файла).

Ответ 6

Я просто испытал это, так что еще кое-что проверить.

→ Убедитесь, что в поле "Фильтр" ниже "Выход журнала" ничего не было введено. Итак, в моем случае я искал термин в регистраторе и забыл удалить искомые термины из поля "Фильтр". DOH!

Ответ 7

У меня была такая же проблема. Хитрость заключается в поиске и удалении указанной линии из проекта.

  #define NSLog(...)

Искать весь проект и удалять его.

Ответ 8

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

freopen(...,"a+",stderr);

Все журналы вошли в консоль после того, как это было прокомментировано:)