Estoy programando una aplicación rápidamente y cuando ejecuto la aplicación de prueba en el simulador de iPhone todo funciona, pero luego trato de deslizar hacia la derecha, que es un gesto que agregué para que vaya a la siguiente página (Ver controlador dos) se bloquea y muestra este informe de error en el registro de la consola.
2014-10-18 12:07:34.400 soundtest[17081:818922] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<soundtest.ViewControllerTwo 0x7f92f1f20090> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key sfdfa.'
*** First throw call stack:
(
0 CoreFoundation 0x00000001067813f5 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x00000001082afbb7 objc_exception_throw + 45
2 CoreFoundation 0x0000000106781039 -[NSException raise] + 9
3 Foundation 0x0000000106b984d3 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 259
4 CoreFoundation 0x00000001066cb400 -[NSArray makeObjectsPerformSelector:] + 224
5 UIKit 0x00000001072ce97d -[UINib instantiateWithOwner:options:] + 1506
6 UIKit 0x000000010712f698 -[UIViewController _loadViewFromNibNamed:bundle:] + 242
7 UIKit 0x000000010712fc88 -[UIViewController loadView] + 109
8 UIKit 0x000000010712fef9 -[UIViewController loadViewIfRequired] + 75
9 UIKit 0x000000010713038e -[UIViewController view] + 27
10 UIKit 0x00000001076cd83f -[_UIFullscreenPresentationController _setPresentedViewController:] + 65
11 UIKit 0x000000010710bc49 -[UIPresentationController initWithPresentedViewController:presentingViewController:] + 105
12 UIKit 0x000000010713c121 -[UIViewController _presentViewController:withAnimationController:completion:] + 1746
13 UIKit 0x000000010713e461 __62-[UIViewController presentViewController:animated:completion:]_block_invoke + 132
14 UIKit 0x000000010713e385 -[UIViewController presentViewController:animated:completion:] + 229
15 UIKit 0x00000001073bb9d6 _UIGestureRecognizerSendActions + 262
16 UIKit 0x00000001073ba679 -[UIGestureRecognizer _updateGestureWithEvent:buttonEvent:] + 532
17 UIKit 0x00000001073bf296 ___UIGestureRecognizerUpdate_block_invoke662 + 51
18 UIKit 0x00000001073bf192 _UIGestureRecognizerRemoveObjectsFromArrayAndApplyBlocks + 254
19 UIKit 0x00000001073b520d _UIGestureRecognizerUpdate + 2796
20 UIKit 0x00000001070520a6 -[UIWindow _sendGesturesForEvent:] + 1041
21 UIKit 0x0000000107052cd3 -[UIWindow sendEvent:] + 667
22 UIKit 0x000000010701fae1 -[UIApplication sendEvent:] + 246
23 UIKit 0x000000010702cbad _UIApplicationHandleEventFromQueueEvent + 17370
24 UIKit 0x0000000107008233 _UIApplicationHandleEventQueue + 1961
25 CoreFoundation 0x00000001066b6ad1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
26 CoreFoundation 0x00000001066ac99d __CFRunLoopDoSources0 + 269
27 CoreFoundation 0x00000001066abfd4 __CFRunLoopRun + 868
28 CoreFoundation 0x00000001066aba06 CFRunLoopRunSpecific + 470
29 GraphicsServices 0x000000010a1699f0 GSEventRunModal + 161
30 UIKit 0x000000010700b550 UIApplicationMain + 1282
31 soundtest 0x000000010624503e top_level_code + 78
32 soundtest 0x000000010624507a main + 42
33 libdyld.dylib 0x000000010ae4a145 start + 1
34 ??? 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
cmmd + F
para que pueda buscar dentro de la consola y buscar la aplicación de terminación debido a una excepción no detectada , exactamente 1 línea después de eso verá la razón: que le indica la razón por la cual su aplicación se ha bloqueado. (Sí, he tenido este error muchas veces :)Respuestas:
CMYR: "esto también podría suceder si ha conectado un botón a una IBAction que ya no existe (o ha cambiado de nombre)"
Si se encuentra con este problema, asegúrese de ir a Main.storyboard, haga clic DERECHO en el ícono del cuadro amarillo (ver controlador) en la parte superior del contorno del teléfono y BORRE la (s) salida (s) con banderas amarillas.
Lo que sucede en casos como este es que probablemente nombró una acción y luego le cambió el nombre. ¡Necesita eliminar el nombre anterior y si ese fuera el único problema, comenzará de inmediato en sim!
fuente
¿Estableció la variable OS_ACTIVITY_MODE por casualidad? Para verificar si tiene esta variable establecida (y desactivarla), en Xcode 9, haga lo siguiente:
Select from Xcode menu Product -> Scheme -> Edit Scheme.. Select the Run scheme and look under Arguments. If you see the OS_ACTIVITY_MODE variable checked, deselect it
fuente
En Xcode 9 y Swift 4:
Imprima la pila de excepciones para conocer el motivo de la excepción:
Agregar (+) Agregar punto de interrupción de excepción.
Seleccione el nuevo punto de interrupción, Control-Clic, Editar punto de interrupción.
fuente
En mi caso, estaba llamando a un método delegado pero el método no fue declarado.
Este error es genérico y puede aparecer por varias razones. Asegúrese de no haber deshabilitado sus Registros para ver realmente qué sucedió. Habilite OS_ACTIVITY_MODE en los esquemas si lo ha deshabilitado. Es posible que lo haya deshabilitado para evitar una gran cantidad de registros irrelevantes, pero son útiles.
También puede rastrear la causa con más detalles agregando un punto de interrupción de excepción
po $arg1
. Como ya mencionó Ahmed-LotfiAquí hay una lista de verificación común que puede revisar.
fuente
Otras soluciones no funcionaron de mí, aquí está la mía. Solo se aplica a Xcode 8 cuando se ejecuta en modo heredado Swift 2.3 :
Parece que Interface Builder está intentando cambiar el nombre del método que se debe conectar al botón.
Aquí hay un radar con más detalles.
La solución (solución alternativa) es reemplazar manualmente el nombre del parámetro del método para
_
:Cambiar a esto:
fuente
También podría estar equivocado Segue Identifier Name. P.ej -
fuente
Mi situación era un poco diferente, estaba tratando de pasar a una
UINavigationController
, y lo que me solucionó fue obtener la porción de la cola principal.Para el objetivo-C:
Para Swift 3:
fuente
Esto comenzó a sucederme en Xcode 7, y no tenía salidas con banderas amarillas que pudiera eliminar.
Lo único que funcionó para mí fue reemplazar esta línea en AppDelegate:
a:
fuente
Para mí, el problema estaba en mi IBAction con un UIButton.
Cuando Ctrl + Arrastra para crear una IBAction desde un UIButton, asegúrese de seleccionar "UIButton" en el menú desplegable Tipo. La selección predeterminada de AnyObject hace que la aplicación se bloquee cuando toca el botón UIB.
fuente
También podría ser un Segmentos activados rotos, revise su guión gráfico, tan pronto como vuelva a conectar los segmentos o la salida, todo debería funcionar nuevamente.
Asegúrese de que el
Identifier
Segue sea correcto y similar a su código .fuente
Me encontré con este problema cuando cambié el nombre de la variable que se conectaba a uno de mis botones. ¡Así que tenlo en mente!
fuente
Soy nuevo en Xcode, por lo que me tomó algunas horas resolver el problema para cargar el archivo xls. Seguí la mayoría de los códigos de muestra hasta allí y ninguno de ellos resuelve el error Xcode que se muestra.
La solución que encontré fue que debemos especificar la opción 'Agregar a objetivos:' marcar el proyecto para agregar, cuando importamos el archivo xls en Xcode arrastrando y soltando en Proyecto -> Archivos de soporte.
fuente
puede haber más de 1 IBAction para un botón en su controlador de vista, intente encontrarlos y eliminar todos los elementos anteriores para ese botón en su controlador y cree un nuevo botón. Resolverá su problema.
fuente
Asegúrese de no aplicar dinámicamente restricciones relativas a una vista que aún no está en la jerarquía de vistas.
En el ejemplo anterior, bottomView ha pasado a formar parte de la jerarquía de vistas antes de aplicar restricciones relativas.
fuente
Tengo este error de las siguientes 2 formas:
Estaba recibiendo este error cuando estaba presionando en otro UIViewController.
SIN EMBARGO, por error, subclasifique la otra clase de
UITabBarController
y este error.¿Cómo lo solucioné? Subclasé
UIViewController
y ya no me caía :)No quería usar storyboard. Entonces lo borré. Sin embargo, me olvido de eliminar su referencia en la configuración del proyecto . Acabo de hacer clic en el proyecto >> General >> Información de implementación >> y luego configuro la interfaz principal en el espacio negro. (Se configuró previamente como principal)
Como puede ver en ambas situaciones, obtiene un error al acceder a algún objeto que existe ...
fuente
Agregaré mi problema a la lista de posibles soluciones en caso de que alguien más se encuentre con este hilo.
Identificador de celda de TableView. En primer lugar, asegúrese de que su celda tenga un identificador. En segundo lugar, asegúrese de hacer referencia a ese identificador cuando retire la celda.
fuente
Swift 4 :
Estaba recibiendo este error debido a un cambio en la api UIVisualEffectView. En Swift 3 estaba bien hacer esto:
myVisuallEffectView.addSubview(someSubview)
Pero en Swift 4 tuve que cambiarlo a esto:
myVisualEffectView.contentView.addSubview(someSubview)
fuente
Tuve este mismo error cuando tuve un error tipográfico para una de las vistas al crear restricciones usando el formateador visual. Espero que eso ayude a alguien ... o a mí otra vez algún día.
fuente
Si está utilizando react native y react-native-firebase, asegúrese de vincular el archivo Google-Services.plist ( https://github.com/invertase/react-native-firebase/issues/313#issuecomment-320435560 )
fuente
En mi caso, fue UIAlertView en iPad: UIAlertController is Crashed (iPad) . No configuré sourceView y sourceRect.
fuente
Para mi caso, Xcode 8.2.1 , tenía una vista de kit de mapa en un controlador de vista. Entonces fui a
y agregó
MapKit.framework
, entonces estuvo bien.Creo que esto también se aplicará a otras vistas que requieren marco.
PS Running en iOS 9 me dijo que había un problema con Map Kit View, ¡mientras que en iOS 10 no me dijo nada!
fuente
Solo la solución "drop armageddon" funcionó para mí:
fuente
En mi caso, XCode se cansó y no pudo iniciar la aplicación con este mensaje, debido a un error de aserción (que fue establecido por nuestro código).
La ejecución en otro dispositivo mostró el error de aserción, que pudimos solucionar, y todo volvió a la normalidad.
fuente
Para Swift 2.3
Esto parece ser un error con Xcode 8 y Swift 2.3, si está conectando la acción del botón a su código a través del guión gráfico, asegúrese de que Xcode no haya cambiado el nombre de la acción, para mí está agregando un withSender: al final de los métodos , así que lo que hago es ir a mi código y cambiar el nombre del método para que coincida con el que escribió Xcode.
Para cualquier otra versión, marque la respuesta correcta.
fuente
En mi caso, fue InterfaceBuilder. Copié algunas vistas de otro ViewController que estropeó las restricciones.
En InterfaceBuilder tuve el error de flecha roja en el ViewController.
Durante la ejecución, la aplicación se bloqueó.
fuente
En mi caso, la aplicación se bloqueó porque no configuré la membresía objetivo del guión gráfico.
fuente
En mi caso, el proyecto
Build Settings
contenía algunos directorios no existentes paraFramework Search Paths
yLibrary Search Paths
.fuente
Tuve dos problemas:
1) Mi objetivo no tenía el controlador de vista incluido que se utilizó en el archivo del guión gráfico.
2) Mi guión gráfico tenía aproximadamente 3 años, tuve que recrear uno de los controladores de vista en el controlador de la barra de pestañas desde cero (solo tenía un UITextField y todavía no sé por qué no estaba funcionando)
fuente
Otra posible causa:
En mi caso, tenía un
xib
y estaba llamandoBundle.main.loadNibNamed(...
en ese momento se estaba bloqueando. Todo miIBOutlets
yIBActions
parecía estar bien. Al final noté que ennib
realidad se estaba cargando, pero cuando intenté acceder a la primera (y única) vista (nib.first
), eso no funcionaba. De hecho,nib.count
estaba devolviendo un número entero muy grande (max int?), En lugar del esperado1
. Intenté volver a agregar la vista, pero todavía no tuve suerte.Al final, eliminé todo el
xib
archivo y comencé de nuevo (pero conservé algunas de las vistas en mi portapapeles para poder pegarlas en lugar de volver a crearlas).Esto funcionó!
fuente
Esto puede suceder si tiene una tabla y olvida asignar UITableViewDelegate y UITableViewDataSource a la clase
fuente