我想在我的应用程序中支持iOS5,我使用iOS 6.1 SDK编译。
一项功能是将用户带到地图应用程序。 Here is a link解释如何使用适用于iOS 5的iOS SDK 5以及适用于iOS 6的iOS SDK 6。
但是,如果我使用iOS 6.1 SDK并使用iOS 5设备,magic URL link会根据需要将我带到Mobile Safari中的maps.google.com网站,而不是原生地图应用。
可以修复吗?
编辑
到目前为止,我有这个:
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]];
}
答案 0 :(得分:2)
Apple更新了他们对地图的网址处理,您需要指向maps.apple.com
,这将适当地重定向到Google。 See the documentation for more/how
答案 1 :(得分:0)
链接的答案看起来很好。您需要做的就是通过something like this检查用户正在运行的iOS版本,并执行适用于iOS 6案例和iOS不足6案例的相应代码。