我想在使用 iOS 6.1 SDK 编译的应用程序中支持 iOS5。
一项功能是将用户带到地图应用程序。这是一个链接,解释了如何使用适用于 iOS 5 的 iOS SDK 5 以及适用于 iOS 6 的 iOS SDK 6 进行操作。
但是,如果我使用 iOS 6.1 SDK 并使用 iOS 5 设备,那么神奇的 URL 链接会根据需要将我带到 Mobile Safari 中的 maps.google.com 网站,而不是本机 Maps 应用程序。
这可以解决吗?
编辑
到目前为止,我有这个:
BOOL appleMapsSupported = FALSE;
NSString *reqSysVer = @"6.0";
NSString *currSysVer = [[UIDevice currentDevice] systemVersion];
if ([currSysVer compare:reqSysVer options:NSNumericSearch] != NSOrderedAscending)
appleMapsSupported = TRUE;
if (appleMapsSupported){
NSLog(@"device version %@", [[UIDevice currentDevice] systemVersion]);
MKPlacemark* placemark = [[MKPlacemark alloc] initWithCoordinate:coordinate addressDictionary:@{(NSString*)kABPersonAddressStreetKey:@"Your Place"}];
MKMapItem* mapItem = [[MKMapItem alloc] initWithPlacemark:placemark];
[mapItem openInMapsWithLaunchOptions:@{MKLaunchOptionsDirectionsModeKey : MKLaunchOptionsDirectionsModeWalking}];
}else{
NSString* url = [NSString stringWithFormat:@"http://maps.google.com/?t=m&q=Your+Place%%40%g,%g", coordinate.latitude, coordinate.longitude];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
}