In my app, I am displaying a map with annotations, and the user can browse the list of annotations in a table view (in a modal view controller).
I am experiencing a weird bug that I can reproduce both on device and in the simulator (iOS 7 & 8).
When in pitched mode, if I try to select an item in my POI table view, it does one of these :
- changes the map center to a random point on the map, not the selected annotation.
- crashes with the message that I put under (NSZombies enabled).
-[__NSCFString isPitched]: unrecognized selector sent to instance 0x7f24e6e0
I tried several methods to solve this bug, but with no success. And what puzzles me is I can't find any information on the isPitched method. It isn't in my code, neither in Apple documentation.
Does someone knows more on MapKit and these types of problem ? Alternatively, would you know a way to deactivate the pitch when a user select a POI in the list ? Maybe it would prevent the bug.
EDIT : Just found that the 'isPitched' method is actually part of VectorKit ! Doesn't really help, though. No documentation on VectorKit...
EDIT 2 : Added stack trace.
-[__NSCFString isPitched]: unrecognized selector sent to instance 0x7db84870 2015-02-28 14:25:08.501 Cartel 2015[2481:178443] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString isPitched]: unrecognized selector sent to instance 0x7db84870' *** First throw call stack: ( 0 CoreFoundation 0x00afb946 __exceptionPreprocess + 182 1 libobjc.A.dylib 0x00784a97 objc_exception_throw + 44 2 CoreFoundation 0x00b035c5 -[NSObject(NSObject) doesNotRecognizeSelector:] + 277 3 CoreFoundation 0x00a4c3e7 ___forwarding___ + 1047 4 CoreFoundation 0x00a4bfae _CF_forwarding_prep_0 + 14 5 VectorKit 0x02dd09c1 __86-[VKMapCameraController _animateToPosition:pitch:yaw:duration:timingCurve:completion:]_block_invoke + 1809 6 VectorKit 0x02d88645 -[VKAnimation onTimerFired:] + 357 7 VectorKit 0x02d9895e -[VKScreenCanvas animateWithTimestamp:] + 686 8 VectorKit 0x02d9850e -[VKScreenCanvas updateWithTimestamp:] + 46 9 VectorKit 0x02d71e69 -[VKMapView onTimerFired:] + 89 10 libobjc.A.dylib 0x0079a771 -[NSObject performSelector:withObject:] + 70 11 VectorKit 0x0323463c -[GGLDisplayLink _displayLinkFired:] + 60 12 QuartzCore 0x041abcad _ZN2CA7Display15DisplayLinkItem8dispatchEv + 45 13 QuartzCore 0x041abb83 _ZN2CA7Display11DisplayLink14dispatch_itemsEyyy + 311 14 QuartzCore 0x041ac067 _ZN2CA7Display16TimerDisplayLink8callbackEP16__CFRunLoopTimerPv + 123 15 CoreFoundation 0x00a558d6 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 22 16 CoreFoundation 0x00a5525d __CFRunLoopDoTimer + 1309 17 CoreFoundation 0x00a146ba __CFRunLoopRun + 2090 18 CoreFoundation 0x00a13bcb CFRunLoopRunSpecific + 443 19 CoreFoundation 0x00a139fb CFRunLoopRunInMode + 123 20 GraphicsServices 0x03f4324f GSEventRunModal + 192 21 GraphicsServices 0x03f4308c GSEventRun + 104 22 UIKit 0x00f318b6 UIApplicationMain + 1526 23 Cartel 2015 0x0001110d main + 141 24 libdyld.dylib 0x046aaac9 start + 1 25 ??? 0x00000001 0x0 + 1
VKMapCameraController
class. – rmaddy