Quindi ho visto questo crash piuttosto frequentemente in Crashlytics, sia su iPad che su iPad 2, con iOS 5. Sembra che sia causato da un avviso di memoria, ma la traccia dello stack non lo fa t di riferimento qualsiasi del mio codice dell'applicazione, a soli framework iOS:UIViewController purgeMemoryForReason: Crashing su iOS 5
0 libobjc.A.dylib objc_msgSend + 15
1 UIKit -[UIViewController purgeMemoryForReason:] + 64
2 Foundation __57-[NSNotificationCenter addObserver: selector: name: object:]_block_invoke_0 + 18
3 CoreFoundation ___CFXNotificationPost_block_invoke_0 + 70
4 CoreFoundation _CFXNotificationPost + 1406
5 Foundation -[NSNotificationCenter postNotificationName: object: userInfo:] + 66
6 Foundation -[NSNotificationCenter postNotificationName: object:] + 30
7 UIKit -[UIApplication _performMemoryWarning] + 80
8 UIKit -[UIApplication _receivedMemoryNotification] + 174
9 libdispatch.dylib _dispatch_source_invoke + 516
10 libdispatch.dylib _dispatch_queue_invoke + 50
11 libdispatch.dylib _dispatch_main_queue_callback_4CF + 156
12 CoreFoundation __CFRunLoopRun + 1268
13 CoreFoundation CFRunLoopRunSpecific + 300
14 CoreFoundation CFRunLoopRunInMode + 104
15 GraphicsServices GSEventRunModal + 156
16 UIKit UIApplicationMain + 1090
17 500px iOS main.m line 12
googled alta e bassa, ma non riesco a trovare alcuna soluzione a questo. Sembra che questo sia causato dal rilascio eccessivo di un'istanza di UIViewController, ma sto usando ARC, quindi non vedo come potrebbe essere il caso.
Sono a corto di come avvicinarmi anche a questo. Non riesco nemmeno a capire quale sottoclasse di UIViewController stia causando il problema. Ho provato a riprodurre il problema nel simulatore e sul dispositivo, ma non riesco a trovare ciò che lo causa. Qualcuno ha mai visto qualcosa di simile o ha suggerimenti su come affrontare la riproduzione del problema?
Interessante. Di solito, il passo successivo nello stack è una chiamata a downloadViewIfReloadable su quel viewController. Come vediamo ora un incidente, questo significa che questo metodo non è stato nemmeno raggiunto o che abbiamo già ottenuto questo passo. Per quest'ultimo, controlla le implementazioni del metodo viewDidUnload. Questo sarebbe il prossimo passo che prenderei in considerazione. Come raccomandazione standard, abilita gli zombi e attiva l'avviso di memoria sul simulatore. – Till
Darò uno scatto e tornerò da te. Grazie! –