2013-05-01 25 views
6

In genere non vorrei chiedere SO aiuto per capire il mio rapporto di crash, ma (a) posso imparare molto sulla lettura dei rapporti sugli arresti anomali dagli esperti qui, e (b), mi rendo conto che Non ho capito molto del flusso di navigazione come speravo (questa parte è specifica per il rapporto di crash qui sotto credo).iOS - Crash at loadViewIfRequired

Quindi spero che qualcuno abbia riscontrato lo stesso problema e possa aiutarmi a capire perché la mia app si sta bloccando.

Si blocca solo a volte, il che è al di là di me sul motivo per cui è intermittente. Tuttavia, quando si blocca, si blocca nello stesso punto, con la stessa traccia di stack (mostrata sotto).

Ora vedo che si blocca in cmdPressed (c'è molto codice in questo metodo), ma è difficile per me capire qualcosa di più profondo di questo.

Dalla lettura del rapporto sul crash qui di seguito, qualcuno ha qualche consiglio sul perché la mia app si blocca ??? E perché potrebbe essere incoerente?

Thread 0 Crashed: 
0 libobjc.A.dylib      0x344dd5aa _objc_msgSend + 10 
1 UIKit        0x3374458d -[UIViewController loadViewIfRequired] + 365 
2 UIKit        0x33799133 -[UIViewController contentScrollView] + 27 
3 UIKit        0x33799079 -[UINavigationController _computeAndApplyScrollContentInsetDeltaForViewController:] + 29 
4 UIKit        0x33798f5d -[UINavigationController _layoutViewController:] + 33 
5 UIKit        0x33798e81 -[UINavigationController _updateScrollViewFromViewController:toViewController:] + 273 
6 UIKit        0x337985c1 -[UINavigationController _startTransition:fromViewController:toViewController:] + 65 
7 UIKit        0x337984a9 -[UINavigationController _startDeferredTransitionIfNeeded:] + 325 
8 UIKit        0x337e54b1 -[UINavigationController defaultFirstResponder] + 129 
9 UIKit        0x33797849 -[UIResponder(Internal) _deepestDefaultFirstResponder] + 25 
10 UIKit        0x337976fb -[UIResponder(Internal) _promoteDeepestDefaultFirstResponder] + 31 
11 UIKit        0x33813349 -[UIWindowController transitionViewDidStart:] + 81 
12 UIKit        0x337bf8db -[UITransitionView transition:fromView:toView:removeFromView:] + 991 
13 UIKit        0x33a00059 __91-[UIWindowController transition:fromViewController:toViewController:target:didEndSelector:]_block_invoke_0236 + 389 
14 UIKit        0x33812961 -[UIWindowController transition:fromViewController:toViewController:target:didEndSelector:] + 4761 
15 UIKit        0x33810fc7 -[UIViewController presentViewController:withTransition:completion:] + 3395 
16 UIKit        0x33933257 -[UIViewController presentModalViewController:animated:] + 31 
17 MyApp        0x00044973 -[AppViewController cmdPressed] (AppViewController.mm:553) 
18 UIKit        0x338100a5 -[UIApplication sendAction:to:from:forEvent:] + 73 
19 UIKit        0x33810057 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 31 
20 UIKit        0x33810035 -[UIControl sendAction:to:forEvent:] + 45 
21 UIKit        0x3380f8eb -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 503 
22 UIKit        0x3380fde1 -[UIControl touchesEnded:withEvent:] + 489 
23 UIKit        0x337385f1 -[UIWindow _sendTouchesForEvent:] + 525 
24 UIKit        0x33725801 -[UIApplication sendEvent:] + 381 
25 UIKit        0x3372511b _UIApplicationHandleEvent + 6155 
26 GraphicsServices     0x389085a3 _PurpleEventCallback + 591 
27 GraphicsServices     0x389081d3 PurpleEventCallback + 35 
28 CoreFoundation      0x3a5c8173 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 35 
29 CoreFoundation      0x3a5c8117 __CFRunLoopDoSource1 + 139 
30 CoreFoundation      0x3a5c6f99 __CFRunLoopRun + 1385 
31 CoreFoundation      0x3a539ebd _CFRunLoopRunSpecific + 357 
32 CoreFoundation      0x3a539d49 _CFRunLoopRunInMode + 105 
33 GraphicsServices     0x389072eb _GSEventRunModal + 75 
34 UIKit        0x337792f9 _UIApplicationMain + 1121 
35 MyApp        0x0003d083 main (main.m:44) 

Qualsiasi consiglio è molto apprezzato. Grazie!!!

+0

Un incidente in objc_msgSend è spesso a causa di un problema di gestione della memoria. Prova a riprodurre lo schianto mentre using the Zombies instrument e vedi se ti dà più informazioni. –

+0

Arresto anomalo in presentModalViewController, quindi probabilmente stai inviando qualcosa di brutto. Dovresti pubblicare i messaggi di errore che stai ricevendo, poiché è impossibile vedere più in profondità da ciò che hai mostrato qui. –

+0

Si prega di inviare il codice da 'AppViewController' – Nick

risposta

-3

Prova ad aggiungere questo metodo. Spero che questo ti possa aiutare.

0

So che è tardi e inoltre non sono sicuro se questo risolverà il problema o no. Ma quando ho affrontato questo problema (correlato a loadViewIfRequired) e ho faticato parecchio perché nel mio caso anche a volte si bloccava. Stavo chiamando [UITableViewController tableView] dall'esterno della mia classe di controller tableview chiamata prima di caricare la tableview. Poiché il mio TableView non è stato caricato correttamente, la mia classe UITableViewController stava tentando di chiamare l'API loadViewIfRequired e che stava chiamando ViewDidLoad su altro thread (non nel thread principale). Ho risolto questo problema non chiamando [UITableViewController tableView] prima che il mio tableviewcontroller venga caricato anche io ho caricato quello nel thread principale che ha risolto il mio problema.

0

Ho affrontato lo stesso problema. Per me, il problema era che ho cambiato il file xib ma ho dimenticato di collegare tutte le prese precedenti.