2010-11-02 3 views
0

я получаю эту ошибку и EXC_BAD_ACESS, когда я бегу мое приложение карты ... любую идеюEXC_BAD_ACCESS на MAPview

#0 0x3510741c in objc_msgSend() 
#1 0x30a69364 in -[CLLocationManager onClientEventLocation:]() 
#2 0x30a66960 in -[CLLocationManager onClientEvent:supportInfo:]() 
#3 0x30a66b28 in OnClientEvent() 
#4 0x30a5f860 in CLClientInvokeCallback() 
#5 0x30a633e4 in CLClientHandleDaemonData() 
#6 0x357a902c in __CFMessagePortPerform() 
#7 0x3577be46 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__() 
#8 0x3577be04 in __CFRunLoopDoSource1() 
#9 0x3576e0a4 in __CFRunLoopRun() 
#10 0x3576dd7a in CFRunLoopRunSpecific() 
#11 0x3576dc88 in CFRunLoopRunInMode() 
#12 0x336ace8c in GSEventRunModal() 
#13 0x318f0f94 in -[UIApplication _run]() 
#14 0x318ee4d4 in UIApplicationMain() 
#15 0x0000281c in main (argc=1, argv=0x2ffff5e0) at /Users/abcd/Desktop/wataproject/main.m:14 
+0

Можете ли вы разместить код PLZ? – MathieuF

+0

происходит, когда вы показываете карту, или после скрытия карты (вы переходите к другому виду)? и показываете ли вы местоположение пользователя в нем? – Vladimir

+0

опубликуйте какой-то код, или будет очень сложно понять, что не так с вашим приложением. –

ответ

0

@ подход vivianaranha в может решить проблема, но я верю (после встречи с этим сам), что вы делаете что-то еще плохое.

В частности, в моем случае я установил mapView.showsUserLocation = YES, поэтому под капотом mapView подключался к CLLocationManager. Решение заключалось в том, чтобы я позвонил mapView.showsUserLocation = NO в viewWillDisappear.

Также я обнаружил, что у вас должно быть mapView.userTrackingMode, установленное на то, что вам нужно, прежде чем звонить по телефону mapView.showsUserLocation = YES. Объединяя все это, вы получите следующее:

- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
    self.mapView.userTrackingMode = MKUserTrackingModeFollow; 
    self.mapView.showsUserLocation = YES; 
    self.mapView.delegate = self; 
} 

- (void)viewWillDisappear:(BOOL)animated { 
    self.mapView.userTrackingMode = MKUserTrackingModeNone; 
    self.mapView.showsUserLocation = NO; 
    self.mapView.delegate = nil; 
    [super viewWillDisappear:animated]; 
} 
+0

Увидев аналогичную проблему, но в моем случае проблема заключается в установке 'userTrackingMode' в' MKUserTrackingModeFollow'. Я считаю, что я могу установить это свойство в «плохое время» (например, когда карта оживляет или выполняет какую-то другую работу). Не полностью сузили его, но, получив эту линию, результаты в ней больше не рушились (до сих пор пальцы скрещены). – devios1

Смежные вопросы