iOS 9 Segue hace que la aplicación se congele (no se produce un locking o error)

He estado trabajando en esta aplicación durante meses y desde que tengo memoria nunca he tenido problemas con los segues. El código no se modifica en términos de llamadas a performSegueWithIdentifier pero desde mi reciente actualización a Xcode 7 e iOS 9 no he podido solucionar este problema.

Yo he tratado:

  • Borrando el botón y creando un nuevo botón w / segue link
  • Uso de una transición directa desde el botón para ver, sin el uso de performSegueWithIdentifier
  • Botón de conexión al nuevo control de vista en blanco

Cuando ViewDidLoad el botón, no se ViewDidLoad funciones de carga iniciales en el VC de destino (por ViewDidLoad , ViewWillAppear , ViewWillAppear , etc.). Cuando lo conecto a una vista en blanco, el segue funciona bien con el mismo código en su lugar.

Dado que el código nunca se detiene, o se rompe, y parece que se “congela” en su lugar mientras se ejecuta en Xcode, parece que ni siquiera puedo reducir esto a lo que está causando el problema. Tengo un segue similar que también se llama desde otro botón en el mismo ViewController que no tiene problemas de ningún tipo.

¡Cualquier idea al respecto es muy apreciada!

EDITAR: UITextView el problema a UITextView causando el problema. Una vez que se eliminaron las Vistas de texto, la página se carga bien a través de segue. Me pregunto qué cambió entre iOS 8 e iOS 9 en términos de UITextView ya que tendré que eliminar las vistas de texto y volver a agregar nuevas vistas de texto.

Así que, básicamente, el segue fue congelado debido a los UITextView que estaba usando en el destinationViewController . Lo siguiente solucionó el problema:

  • Eliminar todos los UITextView ‘s
  • Agregar nuevos UITextView’s
    • debe dejar el texto implícito de lorem predeterminado y cambiar esto programáticamente en viewDidLoad()

Esta fue la solución para mí, y de la investigación que he hecho sobre el tema parece que esto es un error en iOS 9 y Xcode 7.

¡Aclamaciones!


NOTA: Eliminar el texto en UITextView (o hacerlo más largo que ~ 12 caracteres) es suficiente para evitarlo, sin necesidad de eliminarlos y volver a crearlos. Esto se soluciona en Xcode 7.1.1 y posteriores.

Me encontré con el mismo problema y las soluciones en esta publicación ( Xcode 7 crash: [NSLocalizableString length] 30000 ) resolvieron el problema por mí.

El primero es habilitar una localización que no sea la base para el guión gráfico (ver https://stackoverflow.com/a/32688815/3718974 )

El segundo es desactivar la localización base (ver https://stackoverflow.com/a/32719247/3718974 )

Creo que tengo el mismo problema: tengo una UITabelView con celdas creadas a partir de un archivo nib, cuando un usuario toca una celda se llama a este método:

enter image description here

y cuando tengo el siguiente método prepareForSegue :: la aplicación falla: enter image description here

si elimino la línea 129 Todo está bien, el método prepareForSegue :: abre la vista derecha y la etiqueta contactName se muestra con su texto predeterminado. Si modifico el método de la siguiente manera prepareForSegue :: obtenga exactamente lo que espera, sin tener ningún tipo de error:

enter image description here

avísame si también obtienes el mismo resultado

Cualquiera que esté enfrentando este problema, lo resolví desactivando la opción “Optimizar renderización para la escala de Windows” en la ventana Depurar del simulador. Ya había probado todas las respuestas anteriores, pero no pude resolver el problema.

En el método en el primer controlador de visualización donde activa el segue, ¿tiene beginIgnoringInteractionEvents en alguna parte? Si es así, la pantalla a la que se segrega se congelará e ignorará los eventos de interacción como usted describe. Si este es el caso, puede solucionar esto agregando un método endIgnoringInteractionEvents antes de su método segue:

UIApplication.sharedApplication (). EndIgnoringInteractionEvents () self.performSegueWithIdentifier (“editItemToMyGearSegue”, remitente: self)

Me doy cuenta de que este es un tema antiguo, pero parece ser relevante. Estaba enfrentando el mismo problema en Xcode 9, iOS11. Mis UITextViews están incrustadas dentro de UITableViewCells. Los mismos síntomas que se describen aquí. Los trucos con texto predeterminado y marcadores de posición no me sirvieron de nada, pero lo resolví desactivando los indicadores de desplazamiento para la vista de texto en el xib. Estuvieron encendidos por defecto, supongo, aunque no utilizados.

Editar: este es probablemente un detalle importante … las vistas que colgaban todas tenían una imagen NSTextAttachment en la cadena atribuida de la vista de texto. Creo que la imagen era más ancha que el contenido de la celda de la tabla disponible. Con el desplazamiento desactivado, parecen descender.