Check if Google Maps App is installed in iOS 6

懵懂的女人 提交于 2019-12-04 18:15:05

问题


I am trying to figure out how to handle the result of this code to see if Google Maps is installed in the app.

[[UIApplication sharedApplication] canOpenURL:
[NSURL URLWithString:@"comgooglemaps://"]];

I am creating a UIAlertView with the option in there and if it is or isn't I wish to give the user different options.

How do I take the result of the code above and turn it into a BOOLEAN?

Thanks in advance.


回答1:


The result is already of canOpenURL: a boolean:

BOOL canHandle = [[UIApplication sharedApplication] canOpenURL: [NSURL URLWithString:@"comgooglemaps:"]];

if (canHandle) {
   // Google maps installed
} else {
   // Use Apple maps?
}



回答2:


Above for iOS 9.0

Step 1. Add comgooglemaps in LSApplicationQueriesSchemes in your apps info.plist

Step 2.

BOOL isGoogleMap = [[UIApplication sharedApplication] canOpenURL: [NSURL URLWithString:@"comgooglemaps://"]];
UIAlertView *alert;

if(isGoogleMap)
{
    alert = [[UIAlertView alloc]
             initWithTitle:@"Get Directions"
             message:@"Show Map"
             delegate:self
             cancelButtonTitle:@"Cancel"
             otherButtonTitles:@"View in Apple Maps", @"View in Google Maps", nil];
}
else
{
    alert = [[UIAlertView alloc]
             initWithTitle:@"Get Directions"
             message:@"Show Map"
             delegate:self
             cancelButtonTitle:@"Cancel"
             otherButtonTitles:@"View in Apple Maps", nil];
}
alert.tag = 1010;
[alert show];


来源:https://stackoverflow.com/questions/16012945/check-if-google-maps-app-is-installed-in-ios-6

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!