当我选择 iPhone 语言(英语除外)时,Nsurl 返回 nil
我正在调用默认地图应用程序。从我的应用程序,但例如,当我在 iPhone 上选择葡萄牙语言作为当前位置时,NSURL 返回 nil。 我已经使用了 UTF8encoding 和百分比封装,如下所示:-
NSString *encodedURLString = [urlString stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
//where urlString has value http://maps.google.com/maps?saddr=Localiza\u00e7\u00e3o+actual&daddr=28.6522907,77.1929857
NSURL *URL = [NSURL URLWithString:encodedURLString];
[[UIApplication sharedApplication] openURL:URL];
我已经尝试使用 NSUTF8Encoding 而不是 NSASCIIStringEncoding 但没有任何帮助。 感谢您的帮助。
i m calling default map app. from my application but for example when i select Portugal language on my iphone for current location NSURL return nil.
I already used UTF8encoding and percentage encapsulate as follows:-
NSString *encodedURLString = [urlString stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
//where urlString has value http://maps.google.com/maps?saddr=Localiza\u00e7\u00e3o+actual&daddr=28.6522907,77.1929857
NSURL *URL = [NSURL URLWithString:encodedURLString];
[[UIApplication sharedApplication] openURL:URL];
i already try NSUTF8Encoding instead NSASCIIStringEncoding but nothing helped.
thanx for any help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您正在对整个 URL 进行百分比编码。
这会将
http://www.google.com
转换为http%3A//www.google.com
,这是一个格式错误的网址。来自 NSURL 类参考:
因此,您收到的金额为零。
你想做的是这样的:
You are percent-encoding the entire URL.
This turns
http://www.google.com
intohttp%3A//www.google.com
, which is a malformed URL.From the NSURL Class Reference:
Ergo, you are receiving nil.
What you want to do is this: