iOS 10: ” si estamos en el controlador de precompromiso real no podemos agregar ninguna valla nueva debido a la restricción de CA”

A veces obtengo este mensaje en los registros de Xcode 8b3 cuando ejecuto mi aplicación, todo parece funcionar, pero me gustaría saber de dónde viene esto. Google no ayudó en absoluto.

en tu Xcode:

  • Haga clic en el nombre de su esquema activo justo al lado del botón Detener
  • Haga clic en Editar esquema …
  • en Ejecutar (Depurar), seleccione la pestaña Argumentos
  • en variables de entorno, haga clic en +
  • añadir variable: OS_ACTIVITY_MODE = deshabilitar

captura de pantalla

Viene de +[UIWindow _synchronizeDrawingAcrossProcessesOverPort:withPreCommitHandler:] través de la API os_log. No depende de otros componentes / marcos que esté utilizando (solo de UIKit): se reproduce en un proyecto de aplicación de vista único limpio al cambiar la orientación de la interfaz.

Este método consta de 2 partes:

  1. agregar el controlador de precomisión aprobado a la lista de controladores;
  2. hacer algo de trabajo, eso depende del estado actual de la máquina de estados finitos.

Cuando falla la segunda parte (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 una falla en la depuración.

Parece que el radar es lo mejor que podemos hacer.

Intente poner lo siguiente en las environment variables para el esquema en run(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 compruébelo (en Product -> Scheme -> Edit Scheme -> Run -> Arguments -> Environment).

enter image description here

Agregue la configuración definida por el usuario DEBUG_ACTIVITY_MODE , agregue Any iOS Simulator SDK para Debug y configure su valor para disable (en Project -> Build settings -> + -> User-Defined Setting)

enter image description here

Prueba esto:

  1. Ejecutar limpio en Xcode
  2. Eliminar módulos de nodo $ rm -rf node_modules
  3. Eliminar la carpeta de comstackción
  4. Instalar y ejecutar proyecto

Para solucionarlo, eliminé la aplicación de Simulator.

También corrí limpio 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 llamar a NSLog en subprocesos de trabajo en lugar de hilo principal.

 OS_ACTIVITY_MODE = disable 

Esto también deshabilitará la capacidad de depuración en dispositivos reales (sin salida de consola de dispositivos reales a partir de ese momento).