Я иногда получаю это сообщение в журналах Xcode 8b3 при запуске моего приложения, все работает, но я хотел бы знать, откуда это взялось. Google не помог.
IOS 10: "[App], если мы находимся в реальном обработчике pre-commit, мы фактически не можем добавлять никаких новых ограждений из-за ограничения CA"
Ответ 1
в вашем Xcode:
- Нажмите на название активной схемы рядом с кнопкой "Стоп"
- Нажмите "Изменить схему".
- в Run (Debug) выберите вкладку "Аргументы"
- в переменных среды нажмите +
- добавить переменную: OS_ACTIVITY_MODE = отключить
Ответ 2
Он исходит из +[UIWindow _synchronizeDrawingAcrossProcessesOverPort:withPreCommitHandler:]
через API os_log. Он не зависит от других компонентов/фреймворков, которые вы используете (только от UIKit) - он воспроизводит в проекте чистого одноразового приложения при изменении ориентации интерфейса.
Этот метод состоит из двух частей:
- добавление обработчика precommit в список обработчиков;
- выполните некоторую работу, которая зависит от текущего состояния конечного состояния.
Когда вторая часть не работает (выглядит как запрещенный переход), она выводит сообщение выше в журнал ошибок. Тем не менее, я думаю, что эта проблема не является фатальной: в этом методе есть два дополнительных аргумента, которые приведут к сбою в отладке.
Кажется, что радар - это лучшее, что мы можем сделать.
Ответ 3
Попробуйте ввести следующее в environment variables
для схемы в run(debug)
OS_ACTIVITY_MODE = disable
Ответ 4
Ответ "IOS_ACTIVITY_MODE = отключить" отключает ВСЕ протоколирование! Просто закройте окно ведения журнала, если вы не хотите видеть журнал. Действительно смешной ответ, удивительный, что у него так много голосов! Ничего не касается фактического сообщения.
Наши приложения, которые сильно используют основные данные, работают нормально, эти сообщения и другие начали появляться после одного из последних обновлений Xcode. Печально, что Apple не может решить эти проблемы.
Ответ 5
Мы можем отключить его таким образом (для устройства и симулятора нужны разные значения):
Добавьте имя OS_ACTIVITY_MODE
и значение ${DEBUG_ACTIVITY_MODE}
и проверьте его (в разделе Product → Scheme → Edit Scheme → Run → Arguments → Environment).
Добавьте пользовательскую настройку DEBUG_ACTIVITY_MODE
, затем добавьте Any iOS Simulator SDK
для Debug
и установите для нее значение disable
(в Project → Настройки сборки → + → Пользовательские настройки)
Ответ 6
Чтобы исправить, я удалил приложение из Simulator.
Я также сначала запускал Clean.
Я не думаю, что что-то связанное с ориентацией вызвало это. Самое большое, что изменилось до начала этого симптома, - это то, что среда Swift начала вызывать NSLog
для рабочих потоков вместо основного потока.
Ответ 7
OS_ACTIVITY_MODE = disable
Это также отключит возможность отладки в реальных устройствах (после этого не будет выводиться консоль с реальных устройств).