2012-08-10 2 views
0

Google Weather API에서 수신 한 날씨 ... 데이터를 사용하는 앱이 있습니다. 나는 내가 가지고있는 문제를 알아 내고자 노력하고있는 나의 두뇌를 파열시키고있다. 그리고 나는 실패했다. 그래서 나는 여기에서 주변에서 질문 할 시간 인 것이라고 상상했다.XML에서 null을 되찾고 Wi-Fi 전용 기기에서만 사용

query = [[NSString stringWithFormat:@"%@",query] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
NSLog(@"query: %@",query); 

// SET GOOGLE WEATHER XML LOCATION 
CXMLDocument *parse = [[CXMLDocument alloc]initWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://www.google.com/ig/api?weather=%@", query]]options:0 error:nil]; 
NSLog(@"URL: %@", parse); 

쿼리 변수 내가 다시 XML을 얻기 위해 구글의 URL에 추가하는 내 역 지오 코더 위치 (예를 들어, 시카고, IL)을 원하는 분야

여기 내 코드입니다.

보시다시피 쿼리와 구문 분석 변수를 모두 로그 아웃합니다. 코드가 실행될 때 현재 위치에 대한 합법적 인 쿼리 위치를 얻었음을 알 수 있지만 구문 분석 변수를 로그 할 때까지는 아무 것도 얻을 수 없습니다. 파싱 ​​기록에 null이 표시됩니다. Google에서 아무것도 반환하지 않았습니다. URL이 정확한지 확인할 수 있으며 브라우저에 가서 동일한 기록 된 링크를 사용하여 필요한 데이터를 얻을 수도 있습니다.

흥미롭게도 ... 시뮬레이터에서 완벽하게 작동하며 5.1.1을 실행하는 내 iPhone에서도 정상적으로 작동합니다. iOS6b4를 내 iPad에 설치했는데 문제가 발생했지만 iOS6에 도입 된 새로운 코드를 사용하지 않아서 문제가 발생하지 않아야합니다.

XML 파싱이 Wi-Fi 전용 iPad에서 작동하지 않는 이유는 무엇입니까?

누군가가 TouchXML 대신 NSXMLParser를 사용하기 시작하기 전에 ... 대신 NSXMLParser를 실행하는 테스트 버전이 있고 거기에 같은 문제가 발생합니다. 나는 잃어 버렸다.

+0

:

if ([locationManager respondsToSelector:@selector(startMonitoringSignificantLocationChanges)]) { [locationManager startMonitoringSignificantLocationChanges]; } else { [locationManager startUpdatingLocation]; } 

은 if/else 문을 제거하고 바로 그것을 해결 다음으로 진행하기 :

나는 다음과 같은 코드를 가지고 있었다. 마침내 시뮬레이터에서 발생했지만 가끔은. 때로는 코드를 변경하지 않고 발생합니다. 한 번 실행하면 XML을 잘 분석하고 다른 시간을 실행하면 null이 반환됩니다. –

답변

0

마침내 이것을 알아 냈습니다 ... 실제로 locationManager와 관련이 있습니다. 무작위 것 같습니다

[locationManager startUpdatingLocation]; 
관련 문제