Смотрите, если другое приложение загружено Xcode Objective-C
Я добавляю несколько мест в мое приложение. У меня это там, где по умолчанию открываются эти локации на картах Apple. Но я хочу сделать так, чтобы, если у пользователя были загружены карты Google, у него была возможность открыть его в картах Google. Итак, как мне получить XCode в Objective-C, чтобы увидеть, есть ли у пользователя Google Maps на своем телефоне? То, как я это делаю, похоже, больше не работает.
Это то, что я использовал
-(IBAction)parkerMap {
{
BOOL isAppInstalled=[[UIApplication sharedApplication] canOpenURL: [NSURL URLWithString:@"google.maps://"]];
if(isAppInstalled)
{
UIAlertController* maps = [UIAlertController alertControllerWithTitle:@"" message:@"Would you like to open in Apple or Google Maps?"
preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction* appleAction = [UIAlertAction actionWithTitle:@"Apple" style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://maps.apple.com/?address=68,D.L.WeatherlyLn.,38388"] options:@{} completionHandler:nil];
}];
UIAlertAction* googleAction = [UIAlertAction actionWithTitle:@"Google" style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://www.google.com/maps/place/68+D.L.+Weatherly+Ln,+Wildersville,+TN+38388/ @35.7776813,-88.3943264,17z/data=!3m1!4b1!4m5!3m4!1s0x887c717763333487:0x8ac40c35453bbb84!8m2!3d35.777677!4d-88.3921377"] options:@{} completionHandler:nil];
}];
[maps addAction:appleAction];
[maps addAction:googleAction];
[self presentViewController:maps animated:YES completion:nil];
}
else
{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://maps.apple.com/?address=68,D.L.WeatherlyLn.,38388"] options:@{} completionHandler:nil];
}
}
}
1 ответ
Решение
Посмотреть здесь
if ([[UIApplication sharedApplication] canOpenURL:
[NSURL URLWithString:@"comgooglemaps://"]]) {
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:@"comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic"]];
} else {
NSLog(@"Can't use comgooglemaps://");
}
https://developers.google.com/maps/documentation/urls/ios-urlscheme