簡體   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