ios objective-c crash uitextview datadetectortypes

ios - UItextView se bloquea cuando cancelo agregar a los contactos en popover



objective-c crash (2)

Parece que la vista llamada por Agregar a contactos todavía se está editando y si finaliza durante este tiempo, se bloqueará. Lo que debe intentar es forzar a que finalice su vista Crear nuevo contacto para que el texto se almacene. Tal vez intente algo como esto:

- (void) viewWillDisappear: (BOOL) animated { [super viewWillDisappear: animated]; [self.view.window endEditing: YES]; //force the view to end here }

He agregado números de teléfono destacados a mi UITextView.

self.textView.dataDetectorTypes = UIDataDetectorTypeAll;

Si yo solo:

  • Seleccionar número de teléfono
  • Presione agregar a los contactos
  • Crear nuevo contacto
  • Hecho

Todo es bueno. Pero si cancelo la adición e intento salir de este menú, la aplicación se bloqueará.

  • Seleccionar número de teléfono
  • Presione agregar a los contactos
  • Presione fuera de Popover (respaldo automático)
  • Presione fuera popover de nuevo (bloqueo)

Entonces ... la aplicación falla si cancelo el contacto agregando el control estándar. Y se bloquea en el método privado (- [UITextView _finishHandlingInteraction:] UITextView_LinkInteraction.m: 335).

Intenté encontrar información sobre esos métodos o alguna información sobre el mismo bloqueo. Pero no ayudó = (

iOS 8.4

Registro de bloqueo:

Fallo de aserción en - [MYCustomTextView _finishHandlingInteraction:], /SourceCache/UIKit/UIKit-3347.44/UITextView_LinkInteraction.m:335

* Terminación de aplicación debido a excepción no detectada ''NSInternalInconsistencyException'', razón: '''' * En primer lugar pila de llamadas tiro: (0x2ad85fef 0x39171c8b 0x2ad85ec5 0x2ba84f17 0x2eab9a4b 0x2e76f2b7 0x2e76f793 0x2e76f735 0x2e76f52d 0x2eac4115 0x2e55806b 0x2e4070f9 0x2e820f9b 0x2e3d0181 0x2e3ce05f 0x2e4054d9 0x2e404ddd 0x2e3dafe5 0x198f2f 0x2e6518fb 0x2e3d99f9 0x2ad4bfaf 0x2ad4b3bf 0x2ad49a25 0x2ac96201 0x2ac96013 0x32472201 0x2e43aa59 0x1afa6b 0x396fdaaf) libc ++ abi.dylib: terminando con una excepción no detectada de tipo NSException

Para iOS 9 (13A4293g) betta:

*** Error de aserción en - [MYCustomTextView _finishHandlingInteraction:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3486.4/UITextView_LinkInteraction.m:342

* Terminación de aplicación debido a excepción no detectada ''NSInternalInconsistencyException'', razón: '''' * En primer lugar pila de llamadas tiro: (0x24d69153 0x3659ee0f 0x24d69029 0x25b4862d 0x297c1867 0x297c2397 0x29362041 0x2936267b 0x293625e3 0x29362315 0x297cf597 0x29408299 0x29454123 0x290dff13 0x28f77189 0x294538f3 0x28f39ecb 0x28f37ab1 0x28f75201 0x28f7494b 0x28f469b5 0x1679e3 0x28f4533d 0x24d2c81b 0x24d2c409 0x24d2a74b 0x24c7d229 0x24c7d015 0x2dd25bb9 0x28faca7d 0x17e523 0x36d07873) libc ++ abi.dylib: terminando con la excepción no detectada del tipo NSException

  • Pruebas:
    • iOS 7.1 (simulador de iPad) _ no se cuelgue
    • Accidente de iOS 8.4 (simulador de iPad) _
    • Accidente de iOS 8.3 (iPad 4) _
    • Accidente de iOS 8.3 (iPad mini) _
    • Accidente iOS 8.4 (iPad mini 3) _
    • iOS 9 betta (iPad mini) _ crash

Fue un problema en el núcleo de iOS. Le escribí al soporte de Apple. Y me propusieron probarlo en iOS 9 beta 4. Ahora no falla. Pero publica muchos mensajes extraños en los registros. De cualquier forma, ahora no es un tema para discutir. Es trabajo para muchachos en Apple. Asi que es por eso.