我正在尝试创建一个应用程序,它将打开位于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文件中。
答案 0 :(得分:1)
尝试以下编码。它运作良好。
npm prestart
答案 1 :(得分:1)
如果有错误 “此应用不允许查询方案whatsapp”
1)检查信息plist。
add LSApplicationQueriesSchemes Array
add whatsapp String.
如果错误网址无效。
2)检查您传递的字符串是否没有特殊字符。特别是空白。
string = [string stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
然后将此字符串用于url。
这两个都应该解决。干杯!