Я иногда получаю это сообщение в журналах Xcode 8b3, когда запускаю мое приложение, кажется, что все работает, но я хотел бы знать, откуда это происходит. Гугл вообще не помог.
willShowViewController никогда не называется, нет ...
Я иногда получаю это сообщение в журналах Xcode 8b3, когда запускаю мое приложение, кажется, что все работает, но я хотел бы знать, откуда это происходит. Гугл вообще не помог.
willShowViewController никогда не называется, нет ...
Ответы:
в вашем Xcode:

Это происходит +[UIWindow _synchronizeDrawingAcrossProcessesOverPort:withPreCommitHandler:]через API os_log. Он не зависит от других компонентов / каркасов, которые вы используете (только от UIKit) - он воспроизводит в чистом проекте приложения единого представления при изменении ориентации интерфейса.
Этот метод состоит из 2 частей:
Когда вторая часть выходит из строя (выглядит как запрещенный переход), она печатает сообщение выше в журнал ошибок. Тем не менее, я думаю, что эта проблема не является фатальной: в этом методе есть 2 дополнительных случая подтверждения, которые приведут к сбою при отладке.
Кажется, что радар - лучшее, что мы можем сделать.
Попробуйте вставить следующее environment variablesдля схемы подrun(debug)
OS_ACTIVITY_MODE = disable
Мы можем отключить его таким образом (устройству и симулятору нужны разные значения):
Добавьте Имя OS_ACTIVITY_MODEи Значение ${DEBUG_ACTIVITY_MODE}и проверьте его (в Product -> Scheme -> Edit Scheme -> Run -> Arguments -> Environment).
Добавить определяемых пользователем Настройка DEBUG_ACTIVITY_MODE, а затем добавить Any iOS Simulator SDKк Debugи установите его значение disable(в Project -> Настройки Build -> + -> User-Defined Setting)
Чтобы исправить, я удалил приложение из симулятора.
Я также побежал Чистым первым.
Я не думаю, что что-либо связанное с ориентацией вызвало это. Самое главное, что изменилось до появления этого симптома, это то, что среда Swift начала вызывать NSLogрабочие потоки вместо основного потока.
OS_ACTIVITY_MODE = disable
Это также отключит возможность отладки на реальных устройствах (с этого момента не будет выводиться консоль с реальных устройств).