ios - Después de actualizar Xcode 11.2 desde Xcode 11.1, la aplicación se bloquea debido a_UITextLayoutView
swift uitextview (5)
Después de actualizar Xcode 11.2 desde la aplicación Xcode 11.1 se bloquea:
*** La aplicación finalizó debido a la excepción no detectada ''NSInvalidUnarchiveOperationException'', razón: ''No se pudo crear una instancia de la clase llamada _UITextLayoutView porque no se encontró ninguna clase llamada _UITextLayoutView; la clase debe definirse en el código fuente o vincularse desde una biblioteca (asegúrese de que la clase sea parte del objetivo correcto) ''
Es un error desde Xcode 11.2-Beta
Solución
Regrese a la versión anterior de lanzamiento de Xcode desde:
Tenga en cuenta que debe usar Safari para descargarlo y primero debe iniciar sesión en el portal de desarrolladores de Apple .
Puede encontrar todas las otras versiones de Xcode y otros enlaces de recursos (incluidas las versiones de lanzamiento y beta) aquí en https://developer.apple.com/download/more
La solución
Esto es muy difícil pero está trabajando para solucionarlo.
Reemplace todos los
UITextView
s en
storyboard
sy
Xib
s con la versión de
código puro
.
Como solución "rápida", puede agregar
UITextView
directamente desde el código y no a través de IB.
Al menos funcionó para mí.
Aunque desde mi punto de vista, es mejor retroceder a Xcode anterior / esperar al nuevo.
Tiene algo que ver con UITextView agregado a través de Storyboard cuando se prueba en versiones anteriores a iOS 13. Supongo que es un error en Xcode 11.2 porque no hay problemas con versiones anteriores.
Una solución más rápida:
///Substitute class for _UITextLayoutView bug class FixedTextView: UITextView { required init?(coder: NSCoder) { if #available(iOS 13.2, *) { super.init(coder: coder) } else { let rect = CGRect(origin: .zero, size: CGSize(width: 100, height: 44*3)) super.init(frame: rect, textContainer: nil) } } }
Agregue este código en algún lugar y luego reemplace todas las instancias del guión gráfico en
FixedTextView
.
Nota: perderá cualquier atributo creado en los guiones gráficos. Esto podría tener serias implicaciones (por ejemplo, configuración de delegado, tamaño, etc.)
Xcode 11.1 descargado de https://developer.apple.com/download/more/ Cambiar de 11.2 a 11.1 solucionó el bloqueo.
Además, para mí, incluso con Xcode 11.2, cuando actualicé mi iPhone a 13.2, eso solucionó el bloqueo.