A veces recibo este mensaje en los registros de Xcode 8b3 cuando ejecuto mi aplicación, todo parece funcionar, pero me gustaría saber de dónde proviene. Google no ayudó en absoluto.
willShowViewController
nunca se llama, no ...
A veces recibo este mensaje en los registros de Xcode 8b3 cuando ejecuto mi aplicación, todo parece funcionar, pero me gustaría saber de dónde proviene. Google no ayudó en absoluto.
willShowViewController
nunca se llama, no ...
Respuestas:
en tu Xcode:
Proviene de la +[UIWindow _synchronizeDrawingAcrossProcessesOverPort:withPreCommitHandler:]
API os_log. No depende de otros componentes / marcos que esté utilizando (solo de UIKit): se reproduce en un proyecto de aplicación limpio de vista única al cambiar la orientación de la interfaz.
Este método consta de 2 partes:
Cuando la segunda parte falla (parece una transición prohibida), imprime el mensaje anterior en el registro de errores. Sin embargo, creo que este problema no es fatal: hay 2 casos de afirmación adicionales en este método, que provocarán un bloqueo en la depuración.
Parece que el radar es lo mejor que podemos hacer.
Intente poner lo siguiente en environment variables
el esquema bajorun(debug)
OS_ACTIVITY_MODE = disable
Podemos silenciarlo de esta manera (el dispositivo y el simulador necesitan valores diferentes):
Agregue el nombre OS_ACTIVITY_MODE
y el valor ${DEBUG_ACTIVITY_MODE}
y verifíquelo (en Producto -> Esquema -> Editar esquema -> Ejecutar -> Argumentos -> Medio ambiente).
Añadir configuración definida por el usuario DEBUG_ACTIVITY_MODE
, a continuación, añadir Any iOS Simulator SDK
a Debug
y establecer su valor a disable
(en proyecto -> configuración de generación -> + -> Configuración definida por el usuario)
Para solucionarlo, eliminé la aplicación del simulador.
También corrí Clean primero.
No creo que nada relacionado con la orientación lo haya desencadenado. Lo más importante que cambió antes de que comenzara este síntoma es que un marco Swift comenzó a invocar NSLog
hilos de trabajo en lugar del hilo principal.
OS_ACTIVITY_MODE = disable
Esto también deshabilitará la capacidad de depurar en dispositivos reales (no habrá salida de consola desde dispositivos reales a partir de ese momento).