繁体   English   中英

IOS stringWithContentsOfURL 返回 null

[英]IOS stringWithContentsOfURL returning null

这是我拥有的一段代码:

NSString * escAddress = [fromLocation stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]; //1
NSString * request = [NSString stringWithFormat:@"http://maps.google.com/maps/api/geocode/json?sensor=false&address=%@", escAddress]; //2
NSLog(@"%@", request); //3
NSString * result = [NSString stringWithContentsOfURL:[NSURL URLWithString:request] encoding:NSUTF8StringEncoding error:nil]; //4
NSLog(@"%@", result); //5

第 3 行的输出是正确的。 它会读到:

http://maps.google.com/maps/api/geocode/json?sensor=false&address=stack%20overflow%20.%20com

如果 escAddress 中的字符串是“stack overflow .com”。

问题似乎在第 4 行。我不知道为什么,但它一直返回 null。 我可以从第 3 行的输出中复制并粘贴 URL,将其粘贴到我的浏览器中,然后我就可以获得所需的相关信息。 那么为什么不把它放入字符串中呢? 我以前使用过这种方法,现在我已经更新到 Xcode 6 它停止了。

如果地址格式错误,服务返回:“NSCocoaErrorDomain Code=262”等。如果它是正确的街道地址,而不是域地址,则它可以工作。 我查找了我的街道地址,用%20替换了所有空格并且它起作用了。 如果我未能替换空格,则会收到错误代码 262。

我的意思是街道地址(示例):
100 Main Street, Anytown, ST ZCode
编码为:
100%20Main%20Street,%20Anytown,%20ST%20ZCcode

http://maps.google.com/maps/api/geocode/json?sensor=false&address=100%20Main%20Street,%20Anytown,%20ST%20ZCcode

原来这不是程序,也不是防火墙。 它是 Xcode 或模拟器。 退出两个,重新打开。 之后工作得很好。 因为它是在更新到 Xcode 6 后才开始的,所以我认为有些事情发生了变化。 那好吧。 不知道为什么会发生这种情况。 它的工作虽然。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM