2011-07-06 4 views
1

NetworkReachability를 (내 스레드를 호출하므로 20 초 제한 시간에 도달하지 않도록) App의 AppDelegate.FinishedLaunching 메소드에서 테스트하려고합니다.Monotouch의 NetworkReachability가 false positive를 반환합니다.

내가 반대하는 문제는이 경우가 아니더라도 테스트가 항상 "거짓"(즉, 네트워크를 사용할 수 없음)을 반환한다는 것입니다. iPhone Simulator에서 실행 중이며, 앱을 조금만 더 실행하면 문제없이 네트워크에 액세스 할 수 있습니다.

나는 Apple의 Reachability 코드에 알려진 버그가있는 것으로 보입니다. 나는 누군가가이 문제점을 우연히 만나고, 아마도 해결 방법을 발견했는지 궁금했다. 사전에

감사합니다,

마크

+0

미구엘 드 이카로 Reachability class을 사용하고주의해야한다. –

+0

이것은 사용하려고 시도했지만 여전히 false를 반환합니다. – Scarlaxx

답변

2

나는이 작업을 수행 :

bool status = Reachability.InternetConnectionStatus() != NetworkStatus.NotReachable && Reachability.IsHostReachable("google.com"); 

당신은 당신의 API의 위치는 어떤 도메인과 google.com을 대체 할 수 있습니다. 처음에 "http://google.com"과 같은 전체 링크를 넣었으므로 오탐 (false positives)이 나타났습니다 ... 해당 URL에 false가 반환됩니다 ... 일단 http를 제거하고 도메인이 생기면 일.

나는 그 버그의 문서에 게시 해결 방법이 있어야한다 알려진 버그로 문서화하면 내가

+0

감사합니다 힙 :) –

관련 문제