2012-06-15 16 views
8

Tengo un problema extraño con una aplicación de iOS mía. Cuando se ejecuta a través de Xcode (compilación & ejecutar), todo funciona bien. La aplicación se inicia y todo funciona como se esperaba.Error de iOS al inicio sin Xcode conectado

Sin embargo, si intento abrir la aplicación tocando su ícono como lo haría el usuario (a través de Springboard), la aplicación se bloquea inmediatamente con el siguiente registro de fallas. Parece apuntar a algún tipo de problema relacionado con la imagen, pero no entiendo cómo no ocurre cuando se depura usando Xcode.

¿Alguien puede arrojar algo de luz?

Date/Time:  2012-06-15 16:13:29.035 +0100 
OS Version:  iPhone OS 5.1.1 (9B206) 
Report Version: 104 

Exception Type: EXC_CRASH (SIGKILL) 
Exception Codes: 0x00000000, 0x00000000 
Crashed Thread: 0 

Thread 0 name: Dispatch queue: com.apple.main-thread 
Thread 0 Crashed: 
0 dyld       0x2fe76464 strcmp + 0 
1 dyld       0x2fe6a6e2 ImageLoaderMachO::parseLoadCmds() + 54 
2 dyld       0x2fe72058 ImageLoaderMachOCompressed::instantiateFromFile(char const*, int, unsigned char const*, unsigned long long, unsigned long long, stat const&, unsigned int, unsigned int, linkedit_data_command const*, ImageLoader::LinkContext const&) + 296 
3 dyld       0x2fe6b23a ImageLoaderMachO::instantiateFromFile(char const*, int, unsigned char const*, unsigned long long, unsigned long long, stat const&, ImageLoader::LinkContext const&) + 302 
4 dyld       0x2fe622f6 _ZN4dyldL10loadPhase6EiRK4statPKcRKNS_11LoadContextE + 478 
5 dyld       0x2fe6255e _ZN4dyldL14loadPhase5statEPKcRKNS_11LoadContextEP4statPiPbPSt6vectorIS1_SaIS1_EE + 386 
6 dyld       0x2fe62716 _ZN4dyldL10loadPhase5EPKcS1_RKNS_11LoadContextEPSt6vectorIS1_SaIS1_EE + 278 
7 dyld       0x2fe628fe _ZN4dyldL10loadPhase4EPKcS1_RKNS_11LoadContextEPSt6vectorIS1_SaIS1_EE + 218 
8 dyld       0x2fe630dc _ZN4dyldL10loadPhase3EPKcS1_RKNS_11LoadContextEPSt6vectorIS1_SaIS1_EE + 1144 
9 dyld       0x2fe63240 _ZN4dyldL10loadPhase1EPKcS1_RKNS_11LoadContextEPSt6vectorIS1_SaIS1_EE + 108 
10 dyld       0x2fe63392 _ZN4dyldL10loadPhase0EPKcS1_RKNS_11LoadContextEPSt6vectorIS1_SaIS1_EE + 262 
11 dyld       0x2fe634c4 dyld::load(char const*, dyld::LoadContext const&) + 224 
12 dyld       0x2fe650f2 dlopen + 742 
13 libdyld.dylib     0x360d55a2 dlopen + 42 
14 CoreFoundation     0x37256092 _CFBundleDlfcnLoadBundle + 106 
15 CoreFoundation     0x37255f36 _CFBundleLoadExecutableAndReturnError + 370 
16 Foundation      0x32d7bf40 -[NSBundle loadAndReturnError:] + 904 
17 SomeApp       0x000bcb3a 0x5e000 + 387898 
18 SomeApp       0x000c56d0 0x5e000 + 423632 
19 SomeApp       0x000c539a 0x5e000 + 422810 
20 SomeApp       0x00062f86 0x5e000 + 20358 
21 UIKit       0x30438c84 -[UIViewController view] + 160 
22 SomeApp       0x000622a6 0x5e000 + 17062 
23 SomeApp       0x0005fcc4 0x5e000 + 7364 
24 UIKit       0x30437ca4 -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1176 
25 UIKit       0x304317d6 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 402 
26 UIKit       0x303ffabc -[UIApplication handleEvent:withNewEvent:] + 1004 
27 UIKit       0x303ff560 -[UIApplication sendEvent:] + 48 
28 UIKit       0x303fef34 _UIApplicationHandleEvent + 5820 
29 GraphicsServices    0x3741b224 PurpleEventCallback + 876 
30 CoreFoundation     0x3729f51c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 32 
31 CoreFoundation     0x3729f4be __CFRunLoopDoSource1 + 134 
32 CoreFoundation     0x3729e30c __CFRunLoopRun + 1364 
33 CoreFoundation     0x3722149e CFRunLoopRunSpecific + 294 
34 CoreFoundation     0x37221366 CFRunLoopRunInMode + 98 
35 UIKit       0x30430864 -[UIApplication _run] + 544 
36 UIKit       0x3042dcce UIApplicationMain + 1074 
37 SomeApp       0x0005fb00 0x5e000 + 6912 
38 SomeApp       0x0005fac0 0x5e000 + 6848 

Editar: hablado de esto con el desarrollador del equipo de Apple. El problema es que utilicé un complemento hecho por mí mismo en mi aplicación que no estaba codificado (aunque le dije a Xcode que lo hiciera). Sin embargo, Xcode 4.3.3 tiene un error que rompe la designación de códigos para los paquetes, por lo que veremos cómo funciona esto pronto.

+0

Cualquier problema que ver con Xcode o es depurador no se puede hacer otra cosa que elimine su aplicación del depurador o reinicie Xcode. – Souljacker

+0

@nhahtdh ¿Qué quieres decir? No terminas las cadenas con NULL y yo no. – Pripyat

+0

@ Ravin455 Este es un problema permanente. No reiniciar/eliminar ayudará, en algún lugar el código seguirá siendo incorrecto. – Pripyat

Respuesta

3

Su aplicación puede tardar demasiado en iniciarse. Se le da un tiempo ilimitado cuando se lanza desde Xcode, pero no se le ofrece este lujo cuando se lanza desde SpringBoard.

Tome un vistazo a esto como referencia: https://developer.apple.com/library/ios/#qa/qa2009/qa1592.html

edición: Oh, cómo he llegado hasta aquí ... esto es de dos semanas de edad.

4

Parece que esto sigue siendo un problema a partir de Xcode 4.5. Como solución alternativa, parece que puede forzar la compilación para que firme el paquete.

Añadiendo lo siguiente como una final "Run Script" fase de construcción para el paquete fijo para mí:

codesign -fs "iPhone Developer" ${BUILT_PRODUCTS_DIR}/${FULL_PRODUCT_NAME}

+1

Excelente sugerencia, gracias Chris! – Pripyat

+0

gracias, esto ayuda mucho! – PetrV

+0

Agregue cotizaciones en caso de que tenga espacios en el nombre de su producto. codesign -fs "Desarrollador de iPhone" "$ {BUILT_PRODUCTS_DIR}"/"$ {FULL_PRODUCT_NAME}" – user961889

Cuestiones relacionadas