update the for failed error designables crashed and ios xcode8 xcode-storyboard

ios - the - failed to render and update auto layout status xcode 9



Xcode 8-Designables IB-Error al procesar y actualizar el estado del diseño automático, el agente se bloqueó (17)

Recientemente me actualicé a Xcode 8 y tengo problemas con el Storyboard.

Si abro el proyecto y no tengo el Storyboard abierto, se compilará y funcionará bien. Una vez que abro el Storyboard, recibo múltiples errores sobre los Designables de IB como se muestra a continuación.

Estas vistas son las únicas vistas que usan vistas personalizadas de TextFieldEffects y BEMCheckbox que importé usando Cocoapods.


Agregar el siguiente código a mi clase @IBDesignable hizo el truco.

override init(frame: CGRect) { super.init(frame: frame) }


Cuando depuré esto descubrí que hay algunas clases que están modificando la interfaz de usuario. Por lo general, marquelabel, que es una subclase de UILabel o cualquier otra subclase de clase UIView y dibuja ui en tiempo de ejecución y colisiona con el motor Autolayout. Intente dar ancho o alto fijo para estas vistas personalizadas. Si no resuelve su problema, intente las siguientes soluciones:

Solución 1: - Descomente #use_frameworks dentro de su archivo pod.

Solución 2: intente eliminar datos derivados

  1. Cierre la ventana del editor de su Xcode y salga del simulador ->
  2. Vaya a Preferencias de Xcode -> Ubicaciones ->
  3. Haga clic en la pequeña flecha gris que muestra la ruta de datos derivados ->
  4. Seleccione su proyecto ->
  5. Eliminar todas las carpetas dentro ->
  6. Salga de Xcode y vuelva a abrir

Después de realizar los cambios necesarios, cambie el guión gráfico o, en mi caso, un .xib para abrir en "XCode 7", guarde y cierre. Esta es solo una medida provisional para abordar los errores, pero en última instancia deberá corregirlos o hacer esto hasta que ya no pueda hacerlo.


En mi caso, estaba usando una biblioteca que estaba subclasificando UIView . Estaba usando IB_DESIGNABLE , y faltaba la llamada a [super awakeFromNib] . Una vez que agregué la llamada a este método, el error desapareció.

No estoy seguro de si el hecho de que estaba implementando IB_DESIGNABLE tuvo un impacto en esto.


Enfrenté este problema después de actualizar a la última versión de XCode. Después de probar la solución múltiple descrita anteriormente, solo hice bastante Xcode y luego apagué el sistema y lo encendí y eso funcionó para mí.


Enfrentado el mismo error: había personalizado UITextField y utilizando el generador de interfaces, el error en la consola fue -Uso del inicializador no implementado ''init (frame :)'' para la clase "CustomField"

Se agregó el inicializador para corregir el error


Intenté limpiar y ejecutar el proyecto no resolverá este problema.

Pero Cerrar y reabrió el proyecto lo hizo.


Intente deshabilitar ''Usar variaciones de rasgos'' (panel Identidad y tipo) para cualquier archivo xib que pueda tener para vistas personalizadas que se usan en su guión gráfico.


Me enfrenté a este problema en CocoaPod 1.5.0. La solución es reinstalar el pod nuevamente (instalar de nuevo el pod) una vez que aparezca este error o puede usar CocoaPod 1.4.0 en su lugar. Funciona bien en 1.4.0 (al menos para mí).

actualizar:

Agregar el siguiente script en Podfile me ayuda a resolver el problema en 1.5.0

post_install do |installer| installer.pods_project.build_configurations.each do |config| config.build_settings.delete(''CODE_SIGNING_ALLOWED'') config.build_settings.delete(''CODE_SIGNING_REQUIRED'') end end

referencia: https://github.com/Skyscanner/SkyFloatingLabelTextField/issues/201#issuecomment-381915911


Para cualquier persona, como yo, que no puede encontrar ese archivo IBDesignablesAgentCocoaTouch o cuando intenta "Depurar vistas seleccionadas" desde el Editor obtiene un error, aquí hay otra forma de depurar esos errores "Error al procesar".

Abra la aplicación ''Consola'', desde la barra lateral seleccione su Mac actual (probablemente se seleccionará automáticamente por defecto) y luego en la barra de búsqueda busque "IBSceneUpdate" y presione enter. Cada vez que obtiene un error de Xcode para un IBDesignable que no puede renderizar, también obtendrá una nueva entrada "IBSceneUpdate" con más detalles sobre el error. ¡Al menos así es como pude depurar mis errores de IBDesignable !


Puede probar uno de los siguientes para descubrir la causa:

  1. busque los registros de IBDesignablesAgentCocoaTouch en este directorio: ~/Library/Logs/DiagnosticReports y vea la causa.

  2. Vaya al Editor -> Depurar vista seleccionada mientras selecciona su @IBDesignable UIView en su guión gráfico, y vea el seguimiento de la pila.

  3. Eliminar la carpeta Derivar datos.

    Xcode Preference -> Location -> Derived Data /Users/YourMacName/Library/Developer/Xcode/DerivedData

  4. Limpia tu proyecto Shift + Command + Alt + K

  5. Construye tu proyecto Command + B


Resolví el problema haciendo lo siguiente:

  1. Vaya a File > Workspace settings .
  2. Haga clic en la pequeña flecha derecha al lado de "Datos derivados". Esto abre la aplicación Finder en la ubicación de la carpeta DerivedData .
  3. Vaya dentro de la carpeta DerivedData y elimine la carpeta correspondiente a su proyecto.
  4. Salga de Xcode y vuelva a abrirlo.
  5. Limpie su comando de cambio de proyecto k .
  6. construya el comando de su proyecto b .
  7. Abre tu guión gráfico.
  8. Vaya a Editor > Refresh all views .

Actualizado

A veces simplemente directamente Ir a Editor > Refresh all views trabajadas. Si Refresh all views está deshabilitado, salga de Xcode e intente nuevamente.


Si está utilizando el archivo xib para uiview personalizado. Prueba esto:

Cambiar de

Bundle.main.loadNibNamed("UserView", owner: self, options: nil)

A:

let bundle = Bundle(for: UserView.self) bundle.loadNibNamed("UserView", owner: self, options: nil)


Simplemente abra su guión gráfico -> Editor -> Actualizar todas las vistas. Este trabajo para mi.


Simplemente elimino la vista que falló y presiono comando + Z para deshacer la eliminación. Esto funciona para mi.

Si edita la vista fallida más tarde, el error puede ocurrir nuevamente, haga lo anterior nuevamente.


Tuve el mismo problema y vine aquí para tratar de averiguar qué pasó. Noté la respuesta mejor calificada y la respuesta en sí misma no me ayudó, ya que IBDesignable no existía en la carpeta de registro y ya intenté todas las demás opciones allí, sin embargo, en los comentarios noté que alguien hablaba de un inicio de marco.

Decidí intentar comentar mi extensión IBDesignable para UIView y al instante solucionó el problema. Entonces, para solucionar esto, encuentre la extensión que causa el problema y asegúrese de configurar los inits necesarios creando una clase IBDesignable y proporcionando los inicializadores necesarios de la siguiente manera:

@IBDesignable class RoundedView: UIView { override init(frame: CGRect) { super.init(frame: frame) sharedInit() } required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) sharedInit() } override func prepareForInterfaceBuilder() { super.prepareForInterfaceBuilder() sharedInit() } func sharedInit() { } }

IMPORTANTE: recuerde agregar la nueva clase al elemento en el que está utilizando el designado.


mi problema se resolvió eliminando carpetas (que está relacionado con este proyecto) de la carpeta de datos derivados. puede hacer esto haciendo clic en Archivo -> Configuración del proyecto -> luego haga clic en el signo de flecha deside /Users/.../Xcode/DerivedData, haga clic en la carpeta DerivedData, verá que las carpetas con nombre de su proyecto las eliminan. salga de xcode al abrir su proyecto, limpie el proyecto utilizando este paso Producto-> limpiar y luego compile el proyecto: Producto-> Compilar Estos resolverán estos problemas.