2012-09-26 18 views
6

हम एनोटेशन के साथ मानचित्र दृश्य से शुरू होने वाले आईपैड एप्लिकेशन का विकास कर रहे हैं।आईओएस 6 एमकेमैप व्यू क्रैश [ईएजीएलसीएन्टेक्स्ट सेटकंटेंट कॉन्टेक्स्ट]

स्टोरीबोर्ड का उपयोग करके जब हम किसी अन्य दृश्य पर स्विच करते हैं जिसमें ओपनगल आधारित चार्टिंग समाधान (शिनबी) होता है। मानचित्र के साथ दृश्य पर वापस जाने के लिए इसे स्थानांतरित करने के लिए मानचित्र पर स्पर्श तक कोई समस्या नहीं है। जब हम मानचित्र को स्थानांतरित करने का प्रयास करते हैं तो यह exc_bad_access अपवाद के साथ क्रैश होता है [EAGLContext setCurrentContext]

कोई विचार?

यहाँ क्रैश लॉग का हिस्सा है:

OS Version:  iOS 6.0 (10A403) 
Report Version: 104 

Exception Type: EXC_BAD_ACCESS (SIGSEGV) 
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000c 
Crashed Thread: 0 

Thread 0 name: Dispatch queue: com.apple.main-thread 
Thread 0 Crashed: 
0 OpenGLES      0x39974b12 +[EAGLContext setCurrentContext:] + 74 
1 VectorKit      0x32c64f0c -[VGLGPU setPaused:] + 120 
2 VectorKit      0x32c54db8 -[VKMainLoop updateLinkState] + 492 
3 VectorKit      0x32c54950 -[VKScreenCanvas _updateDisplayStatus:] + 104 
4 VectorKit      0x32ccea9a -[VKScreenCanvas setGesturing:] + 254 
5 MapKit       0x34defc3c -[MKMapView _willStartUserInteraction] + 48 
6 MapKit       0x34de891a -[MKMapGestureController beginGesturing] + 50 
7 MapKit       0x34de8c6c -[MKMapGestureController handlePan:] + 252 
8 UIKit       0x379ead2c _UIGestureRecognizerSendActions + 124 
9 UIKit       0x379b23d8 -[UIGestureRecognizer _updateGestureWithEvent:] + 388 
10 UIKit       0x37b9f474 ... 
+0

मुझे भी इसी स्थिति का सामना करना पड़ रहा है। कृपया कोई मदद करें –

उत्तर

7

मैं Shinobi के लिए काम करते हैं और हम इस की जांच कर रहा है - यह आंशिक रूप से एप्पल के मानचित्र हमारे GL-प्रसंग की पकड़ रखने कोड की वजह से है। एक अस्थायी समाधान के रूप में, आप तो की तरह, एक ShinobiChart और चार्ट dealloc विधि में नहीं के बराबर-आउट जीएल संदर्भ का एक उपवर्ग बना सकते हैं:

- (void) dealloc { 
    [super dealloc]; 

    [EAGLContext setCurrentContext:nil]; // must be after dealloc 
} 

या यदि आप, एआरसी का उपयोग कर रहे है (क्योंकि dealloc नहीं भेज रहा है अनुमति):

#import <ShinobiCharts/SChartCanvas.h> 

@interface ShinobiChartGl : ShinobiChart 
@end 

@implementation ShinobiChartGl 

- (void) dealloc 
{ 
    [self.canvas.glView removeFromSuperview]; 

    self.canvas.glView = nil; // force glView dealloc 

    [EAGLContext setCurrentContext:nil]; 
} 

@end 

आशा इस मदद करता है, लेकिन सीधे हमसे संपर्क करें - हम हमारे अगली फिल्म में एक पूर्ण ठीक बाहर होगा।

+2

मेरे पास यह वही समस्या है लेकिन उपर्युक्त समाधान इसे हल नहीं कर रहा है :( – theLastNightTrain

+0

2.1.1 में अपग्रेड करने से इसे ठीक नहीं किया गया है। – theLastNightTrain

+0

हाय - हमारी वेबसाइट के माध्यम से हमसे संपर्क करें (shinobicontrols.com) यदि आपको अभी भी कठिनाइयां हैं –

0
जो लोग भी dealloc पर [EAGLContext setCurrentContext:nil]; की कोशिश की काम नहीं किया के लिए

, इस

dispatch_async(dispatch_get_main_queue(), ^{ 
     [EAGLContext setCurrentContext:nil]; 
    }); 

EAGLContext मुख्य थ्रेड पर सेट किया जाना चाहिए की कोशिश करो।

संबंधित मुद्दे