GPPSignIn shanetworkingInstance -> EXC_BAD_ACCESS (code = EXC_I386_GPFLT)

Parece que todo estuvo bien durante mucho time y ayer, sin ninguna razón visible, comencé a recibir un error

EXC_BAD_ACCESS (code = EXC_I386_GPFLT) 

en la siguiente línea en el emulador (todo está bien en un dispositivo real):

 GPPSignIn *signIn = [GPPSignIn shanetworkingInstance]; 

Después de habilitar el post de NSZombie cambiado a

exc_breakpoint (code=exc_i386_bpt subcode=0x0) .

Es muy extraño porque incluso si esta línea es solo una en la vistaDidLoad y es el primer controller de vista en la aplicación, recibo error una y otra vez (~ cada 3-4 inicio de la aplicación). No hice ningún cambio en la configuration de la aplicación.

Estaré agradecido por cualquier ayuda. ¡Gracias!

UPD: se produce un error en libobjc.A.dylib

como puedo ver.

UPD: introduzca la descripción de la imagen aquí

UPD:

 2014-03-31 13:54:13.611 SomeApp[450:3c07] *** -[CFString retain]: message sent to deallocated instance 0x10c2ef050 (lldb) bt * thread #6: tid = 0x2a3b, 0x0000000103978cc4 CoreFoundation`___forwarding___ + 772, queue = 'NSOperationQueue 0x10ea2b870', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) * frame #0: 0x0000000103978cc4 CoreFoundation`___forwarding___ + 772 frame #1: 0x0000000103978938 CoreFoundation`__forwarding_prep_0___ + 120 frame #2: 0x00000001039fb3c7 CoreFoundation`+[__NSArrayI __new:::] + 87 frame #3: 0x000000010395d386 CoreFoundation`+[NSArray arrayWithObjects:] + 566 frame #4: 0x00000001002dea06 SomeApp `+[GPPSignIn versionFromServerData:currentVersion:] + 832 frame #5: 0x00000001002dec24 SomeApp `__28-[GPPSignIn checkSDKVersion]_block_invoke + 197 frame #6: 0x0000000100277e64 SomeApp `-[GTMHTTPFetcher connectionDidFinishLoading:] + 714 frame #7: 0x000000010152036b Foundation`__65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke + 48 frame #8: 0x000000010145763b Foundation`-[NSBlockOperation main] + 75 frame #9: 0x00000001014a5d34 Foundation`-[__NSOperationInternal _start:] + 623 frame #10: 0x00000001014a7c0b Foundation`__NSOQSchedule_f + 64 frame #11: 0x000000010414372d libdispatch.dylib`_dispatch_client_callout + 8 frame #12: 0x0000000104131eab libdispatch.dylib`_dispatch_async_networkingirect_invoke + 174 frame #13: 0x000000010414372d libdispatch.dylib`_dispatch_client_callout + 8 frame #14: 0x0000000104133b27 libdispatch.dylib`_dispatch_root_queue_drain + 380 frame #15: 0x0000000104133d12 libdispatch.dylib`_dispatch_worker_thread2 + 40 frame #16: 0x0000000104490ef8 libsystem_pthread.dylib`_pthread_wqthread + 314 (lldb) 

Este es un tema extraño para rastrear. He tenido el mismo problema con [CFString retain]: solo falla en el simulador (funciona bien en el dispositivo), pero cuando intenté ejecutar Zombies en Instruments nunca aparecía un zombie.

CFString retiene problema en el simulador de iOS

Después de toneladas de búsqueda, su pregunta me llevó a usar el command backtrace para descubrir que el SDK de Google+ estaba causando el problema.

Si bien esto es solo una solución temporal hasta que Google solucione el problema, puede hacer que su aplicación se ejecute en el simulador envolviendo su GPPSignIn en directivas de precomstackdor que comtestingn si se está ejecutando en el simulador:

 #if !(TARGET_IPHONE_SIMULATOR) - (GPPSignIn *) googlePlusSession { NSLog(@"Not running on simulator"); if(_googlePlusSession == nil) { _googlePlusSession = [GPPSignIn shanetworkingInstance]; _googlePlusSession.clientID = kGoogleClientId; _googlePlusSession.scopes = [NSArray arrayWithObjects:kGTLAuthScopePlusLogin,nil]; _googlePlusSession.delegate = self; [_googlePlusSession trySilentAuthentication]; } return _googlePlusSession; } #endif 

Obviamente, esto arruina la funcionalidad de Google+ en su aplicación cuando se ejecuta en el simulador, pero en mi caso fue mucho mejor que no poder iniciarlo. Espero que esto ayude.