在ios 8及以上版本上打开苹果地图无效

时间:2015-11-27 07:46:55

标签: ios apple-maps

我正在尝试创建一个应用程序,它将打开位于iOS设备中的给定源和目标地址的苹果地图。

NSString* addr = [NSString stringWithFormat: @"http://maps.apple.com/?daddr=%@&saddr=%@",[_fromTextfield.text stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLHostAllowedCharacterSet]],[_toTextfield.text stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLHostAllowedCharacterSet]]];

addr=[addr stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLHostAllowedCharacterSet]];

NSURL* url = [NSURL URLWithString:addr];
if ([[UIApplication sharedApplication]canOpenURL:url])
{
    [[UIApplication sharedApplication] openURL:url];
}

但是CanOpenURL无效!它总是返回NO。

我补充说     “LSApplicationQueriesSchemes              urlscheme         urlscheme2         urlscheme3         urlscheme4     “ 在Info.plist文件中。

2 个答案:

答案 0 :(得分:1)

尝试以下编码。它运作良好。

npm prestart

答案 1 :(得分:1)

如果有错误 “此应用不允许查询方案whatsapp”

1)检查信息plist。

add LSApplicationQueriesSchemes Array

add whatsapp String.

如果错误网址无效。

2)检查您传递的字符串是否没有特殊字符。特别是空白。

string = [string stringByReplacingOccurrencesOfString:@" " withString:@"%20"];

然后将此字符串用于url。

这两个都应该解决。干杯!