2014-09-23 17 views
8

Ottenere un sacco di questo arresto anomalo nel mio servizio di registrazione. Qualche suggerimento? La mia app supporta solo la modalità verticale.arresto ios8 su _updateInterfaceOrientationFromDeviceOrientation

Discussione: Crashed: com.apple.main-thread

0 libobjc.A.dylib    0x32bfbf46 objc_msgSend + 5 
1 UIKit       0x289ba531 -[UIWindow _updateInterfaceOrientationFromDeviceOrientation:] + 152 
2 CoreFoundation     0x254d44a1 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12 
3 CoreFoundation     0x2543093d _CFXNotificationPost + 1784 
4 Foundation      0x261609b9 -[NSNotificationCenter postNotificationName:object:userInfo:] + 72 
5 UIKit       0x289ba2f3 -[UIDevice setOrientation:animated:] + 318 
6 UIKit       0x289ba0a3 -[UIApplication handleEvent:withNewEvent:] + 1566 
7 UIKit       0x289b99c1 -[UIApplication sendEvent:] + 72 
8 UIKit       0x28a1e801 _UIApplicationHandleEvent + 632 
9 GraphicsServices    0x2c79d679 _PurpleEventCallback + 528 
10 GraphicsServices    0x2c79d2c3 PurpleEventCallback + 34 
11 CoreFoundation     0x254e1dab __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34 
12 CoreFoundation     0x254e1d47 __CFRunLoopDoSource1 + 346 
13 CoreFoundation     0x254e0349 __CFRunLoopRun + 1608 
14 CoreFoundation     0x2542e621 CFRunLoopRunSpecific + 476 
15 CoreFoundation     0x2542e433 CFRunLoopRunInMode + 106 
16 GraphicsServices    0x2c79c0a9 GSEventRunModal + 136 
17 UIKit       0x28a18809 UIApplicationMain + 1440 
18 simplyUs      0x00052013 main (main.m:14) 
+0

Hai mai trovato una soluzione per questo? –

risposta

0

Ho avuto lo stesso problema.

Probabilmente il mio caso è simile al tuo. Alcuni controllori deallocati hanno ancora ricevuto notifica di orientamento. Ho avuto crash, quando ho presentato regolatore in azione Metodo scheda delegato:

actionSheet:clickedButtonAtIndex: 

Ma quando il controller è presentato all'interno

actionSheet:didDismissWithButtonIndex: 

e tutto funziona bene ora. Penso che dovremmo presentare il controller nella finestra, quando questa finestra è in cima. Quindi tutte le viste di avviso/finestre del foglio di azione devono essere ignorate prima di presentare il controller in iOS8. Altrimenti riceve comunque notifiche di orientamento.

0

Sarebbe di grande aiuto se si avessero maggiori informazioni relative agli arresti anomali oltre alla traccia di arresto anomalo. Sospetto che il problema sia con gli oggetti deallocati dalla messaggistica; un esempio rivelatore di ciò sta andando in crash da una NSNotification. Potresti provare a abilitare gli zombi (la scheda di diagnostica all'interno dello schema di modifica) che può determinare se questo è il caso.

Per verificare il supporto dell'orientamento, è consigliabile impostare i punti di interruzione nei metodi illustrati in https://developer.apple.com/Library/ios/featuredarticles/ViewControllerPGforiPhoneOS/RespondingtoDeviceOrientationChanges/RespondingtoDeviceOrientationChanges.html se li si è già implementati.

Un ultimo avvertimento è che in iOS 8, hanno fissato alcuni metodi fondamentali che hanno avuto nelle versioni di iOS precedenti erroneamente ignorato l'orientamento corrente come l'altezza della barra di stato/larghezza [UIApplication sharedApplication].statusBarFrame.size.height

Questo significa un sacco di codice, tra cui codice da librerie di terze parti, aveva il codice per risolvere il problema originale e quel codice ora deve essere disabilitato in iOS 8. Il codice, ad esempio, si collega alla logica come per vedere se l'altezza della barra di stato era enorme e concludere che il sistema era in orizzontale.