mapbox / DEPRECATED-mapbox-ios-sdk

REPLACED – use https://www.mapbox.com/ios-sdk instead
https://github.com/mapbox/mapbox-gl-native
Other
323 stars 8 forks source link

Crash in case remove annotation #645

Open akantsevoi opened 9 years ago

akantsevoi commented 9 years ago

If location services are in the process of inclusion i have exception:

0   libobjc.A.dylib                 0x0000000198b87bd0 objc_msgSend + 16
1   ICV                             0x00000001001ef440 -[RMMapView removeAnnotation:] (RMMapView.m:3265)
2   ICV                             0x00000001001efb00 -[RMMapView setShowsUserLocation:] (RMMapView.m:3344)
3   CoreLocation                    0x0000000188bbb0f0 0x188bb0000 + 45296
4   CoreLocation                    0x0000000188bb81a8 0x188bb0000 + 33192
5   CoreLocation                    0x0000000188bb2e58 0x188bb0000 + 11864
6   CoreFoundation                  0x0000000188422a24 __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 16
7   CoreFoundation                  0x0000000188421b2c __CFRunLoopDoBlocks + 308
8   CoreFoundation                  0x000000018841fd2c __CFRunLoopRun + 692
9   CoreFoundation                  0x000000018834d0a0 CFRunLoopRunSpecific + 392
10  GraphicsServices                0x00000001914f75a0 GSEventRunModal + 164
11  UIKit                           0x000000018cc823bc UIApplicationMain + 1484
12  ICV                             0x00000001000dc898 main (main.m:16)
13  libdyld.dylib                   0x00000001991e2a04 start + 0
incanus commented 9 years ago

Could you clarify @powerscin?

If location services are in the process of inclusion

akantsevoi commented 9 years ago

Yeah, I'm not quite true explained. This happens when I unplug the geolocation service, and I go back to the application. As I see it on the crash, the challenges are as follows:

RMMapview received notification from the geolocation service. And call method: self.showsUserLocation = NO;

Then begin to remove annotations associated with the position of the user:

for (RMAnnotation *annotation in [NSArray arrayWithObjects:_trackingHaloAnnotation, _accuracyCircleAnnotation, self.userLocation, nil])
            [self removeAnnotation:annotation];

And in the method removeAnnotation: of an accident occurs.

Something happens to the object itself. Because it falls on the fact that he could not find a method removeAnnotation: