Ответ 1
В области отладки нажмите правый полукруг.
N.B. область уменьшена для размера изображения. Ваш должен быть шире.
Я работаю над iPhone/iPad. Внезапная консоль вывода перестала отображать ЛЮБЫЕ сообщения ВСЕ. Я пытался открыть более старый проект - все отлично. Поэтому я подумал, что локальный репозиторий проектов каким-то образом испорчен, поэтому я попытался создать новый проект - никакие сообщения вообще не записываются на консольный вывод. Я случайно что-то сделал с настройками Xcode? Я полностью потерял и расстроился.
Пожалуйста, помогите, если у вас есть идеи.
Спасибо.
В области отладки нажмите правый полукруг.
N.B. область уменьшена для размера изображения. Ваш должен быть шире.
Этот вопрос появляется повсюду и является допустимым, указывающим на случайную ошибку в большинстве версий xcode. Очевидно, что большинство людей, приходящих на эти ответы, просто не могут использовать xcode и поэтому кредитуют ответы типа "показать консоль". Я работаю над одним крупным проектом уже 6 лет, и это появляется каждый месяц или около того. Я перезагружаю устройства, перезагружаю xcode, стою в углу, поющие yankee doodle dandy. Мне ничего не показалось как очевидное и повторяемое решение. В конце концов, я начну работу утром, и он снова будет работать. Ничто из того, что я сделал, не будет очевидным исправлением, обновления не будут установлены. Просто голова к тем, кто думает, что они сходят с ума.
Убедитесь, что вы выбрали "Все выходные"
Не совсем точно, что происходит, но теперь все работает отлично (после того, как я снова начал Xcode сегодня). У меня было все включено (показывается выходная консоль с "все" ).
Я ценю любую помощь.
Это случилось со мной, и это оказалось следующим:
Только один раз, когда я удалил приложение с домашнего экрана iPhone и снова установил его, запустив приложение в отладчике, снова начал работать консольный вывод.
Пусть это будет шаг за шагом.
NSLog публикует поток stderr, а не stdout.
Итак, сначала проверьте, есть ли у stdout проблема, используя функцию старой школы printf (UTF8string). Если это также не работает, проблема, скорее всего, не связана с функцией регистрации. Если это работает, проблема может быть связана с потоком stderr или функцией NSLog
После этого попробуйте войти в файл, перенаправив stderr, а затем stdout также в файл. (функция freopen/dup2) Если этот журнал работает правильно, проблема может быть в вашем проекте или консоли Xcode.
Обратите внимание, что если вы уже используете какое-то перенаправление, журналы не будут печататься на консоли. Они будут либо печататься в консоли, либо в файле ТОЛЬКО
Попробуйте сделать больше подобных экспериментов, чтобы локализовать вашу проблему. Прокомментируйте этот ответ своими наблюдениями, чтобы лучше понять проблему.
В моем случае это было связано с ограничением ресурсов. iTerm не смог разблокировать новые процессы.
Выход из некоторых приложений или увеличение ограничений ресурсов могут помочь.
XCode 9 проблема все еще существует. Я обнаружил, что когда это произойдет, я не показываю область отладки (средняя кнопка на рис.). Затем, когда я снова запустил приложение, область отладки вернулась с правильно отображенной консолью.
Xcode 10.1 для iOS 11 перестал отображать вывод консоли с одной сборки на другую через несколько минут.
У меня OS_ACTIVITY_MODE в качестве переменной среды в моей схеме, и я не получаю вывод на консоли в XCode.
Если я отключаю или удаляю OS_ACTIVITY_MODE из моей схемы, мой журнал появляется в консоли - увы, с большим количеством системных журналов.
Попробуйте отключить OS_ACTIVITY_MODE в "Редактировать схему"> "Выполнить" в разделе "Переменные среды", если он там установлен.
Я построил новую схему, и в опции Launch я проверил: "Дождаться запуска исполняемого файла" (как на картинке ниже)
и, видимо, это отключает NSLog... в соответствии с этим:
NSLog не работает, если установлено "ожидание запуска исполняемого файла"
Сомнительно, что у кого-то будет такая же проблема, но моя была в том, что мой iPad был установлен в режим единого приложения с использованием JAMF или MVM Deployment, и он ничего не записывает в консоль. Другие устройства печатают на консоль, но приложение, находящееся в режиме единого приложения, не будет.
Используя фильтр?
Подобное случилось со мной. В моем случае я по ошибке ввел фильтр в строке состояния области отладки. Отображаются только строки, которые соответствуют фильтру, и, поскольку мой фильтр был мусором, ничего не отображалось.
Попробуйте нажать значок корзины.
Я знаю это глупо, но в моем случае это сработало. Возможно, обновлена консоль вывода журнала: