refreshPreferences Сообщения HangTracerEnabled / HangTracerDuration в iOS 11 + Xcode 9

20

При обновлении до iOS 11 после запуска приложения в iPhone я получаю это сообщение в консоли Xcode:

SibDiet[924:111682] refreshPreferences: HangTracerEnabled: 0
SibDiet[924:111682] refreshPreferences: HangTracerDuration: 500
SibDiet[924:111682] refreshPreferences: ActivationLoggingEnabled: 0 ActivationLoggingTaskedOffByDA:0

И теперь я получаю это сообщение в каждом симуляторе и приложении.

Как я могу решить эту проблему?

    
задан amin 24.09.2017 в 18:39
источник

3 ответа

21

Вы можете скрыть это сообщение, нажав левую кнопку мыши на своей цели, и следующий Edit Scheme .

После этого в разделе Environment Variables создайте переменную с именем OS_ACTIVITY_MODE и значением disable , как показано на рисунке ниже.

    
ответ дан Kris Dude 28.09.2017 в 14:51
источник
  • Спасибо, а также вы можете описать, что означает это сообщение? –  Mudriy Ilya 10.10.2017 в 14:17
  • Обновление версии Xcode до версии 9.2 устраняет проблему. –  Kris Dude 16.01.2018 в 12:40
7

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

Предыдущий ответ об отключении переменной окружения Xcode OS_ACTIVITY_MODE остановит все такие внутренние системные сообщения с неудачным побочным эффектом отключения ведомости консоли из вызовов NSLog() в ObjC. Я не проверял, но также может отключить ведение журнала Swift print() .

Команда Xcode должна действительно различать прерывание регистрации системы и ведение журнала пользователя!

    
ответ дан BlueskyMed 17.10.2017 в 15:46
источник
  • Да, он выбрасывает моего ребенка с водой для ванны. –  Bill Cheswick 16.11.2017 в 18:07
1

Кажется, проблема с (обновить настройки ...) появляется на нескольких платформах.

Мне удалось установить его на High Sierra (10.13.1) XCode 9.1 и iOS 11.0.3 , указав OS_ACTIVITY_MODE как отключить , перейдя в XCode через

  

Продукт & gt; Схема & gt; Изменить схему & gt; Аргументы & gt; Переменные среды

     

добавить OS_ACTIVITY_MODE отключить

Примечание: NSLog может не работать после этого.

Аналогичная проблема возникает в вопросе:

Как исправить refreshPreferences Сообщение в Xcode 9 [duplicate]

    
ответ дан matrix3003 16.11.2017 в 01:25
источник
  • Да, как отмечено, это отключит ведение журнала внутренних сообщений из системы, но за счет отключения NSLog и Print. Во многих случаях это слишком высокая цена, чтобы заплатить за игнорирование нежелательной информации или шума из системы. –  BlueskyMed 17.11.2017 в 19:27
  • Спасибо, согласен. Пусть Apple предложит комплексное решение ... Во всяком случае, я буду больше смотреть на это, NSLog тоже меня разозлит. –  matrix3003 17.11.2017 в 20:46