1

Code:

-(void)getRouteDirections{
    MKDirectionsRequest *request = [[MKDirectionsRequest alloc] init];
    [request setSource:[MKMapItem mapItemForCurrentLocation]];

    // It crashes on this line:      
    MKPlacemark * placemark = [[MKPlacemark alloc]initWithCoordinate:_location.coordinate];
}

Exception:

-[MKPlacemark initWithCoordinate:]: unrecognized selector sent to instance

It crashes only on iOS 9. How can I solve this problem?

Pang
  • 9,564
  • 146
  • 81
  • 122
Ofir Malachi
  • 1,145
  • 14
  • 20
  • `- (instancetype)initWithCoordinate:(CLLocationCoordinate2D)coordinate;` (https://developer.apple.com/reference/mapkit/mkplacemark/2172460-initwithcoordinate?language=objc) is available since iOS10. My guess is that your iPad and your iPhone4S iOS versions are lower... – Larme Jan 05 '17 at 13:53
  • @Larme thank you! you are right! but its strange, i remember it worked fine in IOS 8.. anyway, do you know any "MKDirections" code replacements for IOS9? – Ofir Malachi Jan 05 '17 at 14:06
  • 1
    `initWithCoordinate:addressDictionary:` is available since iOS3. Was it this one you used before? – Larme Jan 05 '17 at 14:21
  • Any luck with a solution for this? I'm experiencing this on iOS 9. Works fine in 10. – Peter Brockmann Jun 11 '17 at 20:26

1 Answers1

3

Answer from Larme comments:

- (instancetype)initWithCoordinate:(CLLocationCoordinate2D)coordinate; is available since iOS10.

For iOS 9 or earlier, initWithCoordinate:addressDictionary: is available since iOS 3.

Cœur
  • 37,241
  • 25
  • 195
  • 267