10

我试图弄清楚如何处理此代码的结果,以查看应用程序中是否安装了 Google 地图。

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

我正在创建一个UIAlertView带有选项的选项,如果是或不是,我希望为用户提供不同的选项。

如何获取上面代码的结果并将其转换为布尔值?

提前致谢。

4

2 回答 2

23

结果已经是canOpenURL:一个布尔值:

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

if (canHandle) {
   // Google maps installed
} else {
   // Use Apple maps?
}
于 2013-04-15T10:34:02.823 回答
5

以上适用于 iOS 9.0

步骤 1.在您的应用程序 info.plist 中的 LSApplicationQueriesSchemes 中添加comgooglemaps

第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];
于 2016-03-30T07:04:24.963 回答