При использовании Xcode 8+ и создании нового пустого проекта при запуске приложения появляются следующие журналы:
2016-06-13 16:33:34.406093 TestiOS10[8209:100611] bundleid: com.appc.TestiOS10, enable_level: 0, persist_level: 0, propagate_with_activity: 0
2016-06-13 16:33:34.406323 TestiOS10[8209:100607] Created DB, header sequence number = 248
2016-06-13 16:33:34.409564 TestiOS10[8209:100611] subsystem: com.apple.UIKit, category: HIDEvents, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0
2016-06-13 16:33:34.504117 TestiOS10[8209:100607] Created DB, header sequence number = 248
2016-06-13 16:33:34.548023 TestiOS10[8209:100607] subsystem: com.apple.BaseBoard, category: MachPort, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0
2016-06-13 16:33:34.568458 TestiOS10[8209:100608] subsystem: com.apple.FrontBoard, category: Common, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0
Может быть, кто-то уже нашел конфигурацию для этого?
Ответы:
Попробуй это:
1- Из открытого меню Xcode: Продукт> Схема> Редактировать схему
2- В вашей переменной среды установлено
OS_ACTIVITY_MODE
=disable
источник
NSLog
для меня скрывает все s от реального устройства ...Основываясь на оригинальном твите от @rustyshelf и иллюстрированном ответе от iDevzilla, вот решение, которое заглушает шум симулятора, не отключая вывод NSLog с устройства.
источник
disable
наdefault
.OS_ACTIVITY_MODE не работал для меня (это может быть , потому что я typo'd ,
disable
какdisabled
, но это не то, что более естественно?!?), Или по крайней мере не помешало много сообщений. Итак, вот реальная сделка с переменными среды.https://llvm.org/svn/llvm-project/lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
Так что установка
OS_ACTIVITY_DT_MODE
«НЕТ» в переменных среды (метод GUI описан на скриншоте Схемы в основном ответе) заставляет меня работать.Что касается
NSLog
места сброса системных сообщений, ошибок и вашей собственной отладки: вероятно, в любом случае необходим настоящий подход к ведению журнала, например, https://github.com/fpillet/NSLogger .ИЛИ
Пейте новый Kool-Aid: http://asciiwwdc.com/2016/sessions/721 https://developer.apple.com/videos/play/wwdc2016/721/ Неудивительно, что после капитального ремонта есть некоторые заминки API логирования.
ДОПОЛНЕНИЕ
Во всяком случае,
NSLog
это просто прокладкаhttps://developer.apple.com/library/content/releasenotes/Miscellaneous/RN-Foundation-OSX10.12/
Имеет смысл только указать источник другой переменной env. Довольно разрозненное место, на этот раз от Apple. Не уверен, почему они перекрываются. [Неверный комментарий об
NSLog
удаленном][Отредактировано 22 сентября]: Интересно, что «release» и «stream» делают иначе, чем «debug». Недостаточно источника.
https://github.com/macosforge/libdispatch/blob/8e63547ea4e5abbfe55c0c3064181c4950a791d3/src/voucher.c
источник
os_log
неофициально называю новую помощь Коул.Твит был ответ для меня - https://twitter.com/rustyshelf/status/775505191160328194
Чтобы запретить симулятору Xcode 8 iOS вести себя как сумасшедший, установите переменную среды OS_ACTIVITY_MODE = disable в вашей схеме отладки.
Это сработало.
источник
disable
наdefault
.Пожалуйста, найдите ниже шаги.
CMD + <
Run
опцию слева.Для получения дополнительной информации, пожалуйста, найдите ниже представление GIF.
источник
disable
наdefault
.Это все еще не исправлено в Версии 8.0 XCode 8.0 для меня (8S162m), и дополнительные журналы также появляются в консоли XCode** РЕДАКТИРОВАНИЕ 8/1/16: это было признано в примечаниях к выпуску для Xcode 8 Beta 4 (8S188o) как проблема, все еще сохраняющаяся .
Предположительно, это будет решено выпуском GM. До тех пор терпение и хотя не идеальный, но обходной путь, который я использую, ниже ...
Как и в предыдущем ответе, я должен:
префикс моих журналов печати с каким-то специальным символом (например, * или ^ или! и т. д.)
Затем используйте окно поиска в правом нижнем углу панели консоли, чтобы отфильтровать журналы консоли, введя выбранный мной специальный символ, чтобы консоль отображала журналы печати в соответствии с назначением.
источник
Мое решение заключается в использовании команды отладчика и / или сообщения журнала в точках останова.
И измените вывод консоли с All Output на Вывод отладчика как
источник
Хорошо. Похоже, что в этой игре много шума, поэтому я дам вам способ сохранить его, не используя этот трюк со схемой. Я расскажу об iOS Simulator специально, но это также может потребоваться для TV Sim, который находится в другом каталоге.
Проблема, которая вызывает все эти вещи, списки, расположенные в каталоге Xcode. При запуске Sim запускается процесс, называемый configd_sim, который считывает списки и выводит отладочную информацию, если в списках указывается, что они должны быть зарегистрированы.
Списки расположены здесь:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Preferences/Logging/Subsystems
Если вы играете с бета-версией, обратите внимание, что каталог будет другим.
Вы увидите многочисленные списки в этом каталоге. Теперь создайте и запустите ваше приложение и наблюдайте за журналами. Вы ищете контент, за которым сразу следует подсистема: часть. Это имя, которое следует сразу за этим, представляет соответствующий проблемный список.
Оттуда либо измените plist, чтобы выбить отладочный ключ / значение [Level], которое является словарем, содержащим
"Enable" => "Default"
ключ / значение ... или просто удалите plist. Обратите внимание, что для выполнения любого из этих действий вам нужно быть пользователем root, поскольку они находятся в приложении Xcode.эта
plutil -p
команда может быть вам полезна. т.е.Это дало мне один из проблемных списков, которые содержали:
{ "DEFAULT-OPTIONS" => { "Level" => { "Enable" => "Default" }}}
Удачи :]
источник
2016-09-23 15:09:21.354686 ProductName[8823:191206][] tcp_connection_start 3 starting
Это связано с известной проблемой с регистрацией, найденной в Примечаниях к выпуску бета-версии Xcode 8 (также спросил инженер в WWDC).
В настоящее время нет доступного обходного пути, вы должны дождаться новой версии Xcode.
РЕДАКТИРОВАТЬ 7/5/16: Это предположительно исправлено с XCode 8 Beta 2:
Примечания к выпуску Xcode 8 Beta 2
источник
Это больше не проблема в xcode 8.1 (протестированная бета-версия 8.1 (8T46g)) . Вы можете удалить
OS_ACTIVITY_MODE
переменную окружения из вашей схемы.https://developer.apple.com/go/?id=xcode-8.1-beta-rn
источник
[MC] Reading from private effective user settings.
из пустого нового фиктивного проекта File> New> Project.В Xcode 10
OS_ACTIVITY_MODE
переменная сdisable
(илиdefault
значение) также не выключаетNSLog
ни на что.Поэтому, если вы хотите избавиться от шума консоли, но не от собственных журналов, вы можете попробовать старый добрый
printf("")
вместо NSLog, так как на него не влияетOS_ACTIVITY_MODE
=disable
.Но лучше ознакомьтесь с новым
os_log
API здесь .источник
Это решение работает для меня:
⌘
+/
)Это выведет все данные отладки, а также ваши NSLogs.
Чтобы отфильтровать только ваши утверждения NSLog:
NSLog(@"^ Test Log")
Вот что вы должны получить:
источник