2014-01-27 9 views
5

Ich habe eine App in dem Bereich, der im Vordergrund abstürzt. Ich habe eine MKMapView in einem Root-View-Controller. Dieser Root-View-Controller zeigt oben einen Modal View-Controller. Wenn der Modalansicht-Controller beendet wird, scheint ein Absturz beim Rendern des MKMapView im Stammansicht-Controller nach dem Aufruf seiner viewWillAppear-Methode zu erfolgen. Dies geschieht in ios7. Wer weiß, was der Grund für einen solchen Unfall sein könnte? Der Absturz im Vordergrund passiert und ist nicht der gleiche wie Occasionally iOS 6 MKMapView crashes in initWithFramesigsegv segv_accerr crash mkmapview in ios7

Stack-Trace:

Exception Type: SIGSEGV 
Exception Codes: SEGV_ACCERR at 0x200000a0 
Crashed Thread: 13 

0  IMGSGX543GLDriver      0x2efadfd6 sgxBindCurrentTextures + 118 
1  IMGSGX543GLDriver      0x2efaf143 sgxBeginRender + 399 
2  IMGSGX543GLDriver      0x2efa75c3 glrClearCore + 235 
3  IMGSGX543GLDriver      0x2efa73e5 glrClear + 193 
4  GLEngine        0x323640c7 glClear_Exec + 395 
5  VectorKit        0x37bf1531 -[VKMapModel drawScene:withContext:] + 125 
6  VectorKit        0x37bf13f1 -[VKMapModel recursiveDrawScene:withContext:pass:] + 189 
7  VectorKit        0x37bf12d5 -[VKModelObject recursiveDrawScene:withContext:pass:] + 237 
8  VectorKit        0x37bf11e1 -[VKWorld drawScene:withContext:] + 45 
9  VectorKit        0x37bf0a0d -[VKScreenCanvas _renderCore:] + 353 
10 VectorKit        0x37befba7 __36-[VKScreenCanvas drawWithTimestamp:]_block_invoke_2 + 51 
11 VectorKit        0x37bd527f -[VGLContext perform:] + 67 
12 VectorKit        0x37befb5d __36-[VKScreenCanvas drawWithTimestamp:]_block_invoke + 113 
13 libdispatch.dylib      0x3ab36d1b _dispatch_call_block_and_release + 11 
14 libdispatch.dylib      0x3ab3d273 _dispatch_queue_drain$VARIANT$mp + 375 
15 libdispatch.dylib      0x3ab3d06b _dispatch_queue_invoke$VARIANT$mp + 43 
16 libdispatch.dylib      0x3ab3dce1 _dispatch_root_queue_drain + 77 
17 libdispatch.dylib      0x3ab3dc23 _dispatch_worker_thread + 87 
18 libsystem_pthread.dylib    0x3ac7ac1d _pthread_body + 141 
19 libsystem_pthread.dylib    0x3ac7ab8f _pthread_start + 103 
+0

Legen Sie einen Ausnahme-Haltepunkt fest, klicken Sie nach dem Klicken mehrmals auf Ausführen, um die Fehlermeldungen zu erhalten. Posten Sie das. – zaph

+0

BTW Ich habe diesen Absturz nie reproduziert - es passiert nur im Feld, so dass ich keine Debugging-Fähigkeit mehr habe. – user1044685

+0

Sie führen Dinge wie Annotation Gruppierung ?? – Firdous

Antwort

0

A SIGSEV bedeutet in der Regel illegal Speicheradressierung (nil, zerstörtes Objekt) oder Sie haben ein Gerät, die fehlerhaften Speicher hat . Wenn Sie benutzerdefinierte Kartenabbilder verwenden, sind diese möglicherweise zu groß, oder sie beanspruchen den Speicher des Geräts und führen zum Fehlschlagen des Geräts. Im Allgemeinen können MapKits auf älteren Geräten nicht mehr als 100 Punkte verarbeiten.

Testen Sie verschiedene Geräte. Wenn es auf jedem Gerät fehlschlägt, liegt wahrscheinlich ein Fehler in Ihrem Code vor, in dem benutzerdefinierte Grafiken geladen werden.

Wenn es nur auf dem einen Gerät fehlschlägt, dann haben Sie wahrscheinlich ein Problem mit Ihrem Gerät. Ersetze es.

0

Es ist möglich, die MKMapView wird freigegeben, aber der Delegat versucht immer noch, Nachrichten zu senden, daher der Absturz. Versuchen Sie, den Delegaten auf Null zu setzen, wenn Sie das Modal darstellen, und setzen Sie ihn dann auf self zurück, sobald das Modal beendet ist.