문제

Apple의 도달 가능성 샘플을 내 프로젝트에 통합 했으므로 네트워크 연결이 있는지 여부를 알 수 있습니다. 네트워크 연결이 없으면 보내지 않고 요청하지 않습니다. 네트워크 연결을 만들고 싶을 때마다 동기식 요청을 시작하는 것과는 대조적으로 즉시 현재 결과를 사용할 수있게되기 때문에 상태 알림 구현과 함께 가기로 결정했습니다.

내 문제는 Edge Network에있을 때 잘못된 네거티브를 얻기 시작한다는 것입니다. 전화에는 연결성이 있지만 앱은 이것이 사실이 아니라고 생각합니다. 내 이해는 에지 연결이있을 때 알림을받지 못한다는 것입니다. 앱을 다시 시작하면 일반적으로 네트워크 연결을 볼 수 있습니다.

이것은 최적의 솔루션이 아니므로 다른 사람 이이 문제를 발견하고 솔루션에 대한 생각이 있는지 궁금합니다.

(이것이 3G에도 적용되는지 모르겠습니다. 첫 번째 Gen iPhone을 실행하고 있습니다).

도움이 되었습니까?

해결책

도달 가능성 알림은 Wi-Fi를 감지하기 위해 나에게 신뢰할 수없는 것 같습니다. 그래서 나는 대신 폴링을 사용합니다. 5 초마다 점검하는 것은 해를 끼치 지 않는 것 같습니다.

- (void) checkReachability {
    BOOL connected = ([[Reachability sharedReachability] localWiFiConnectionStatus] == ReachableViaWiFiNetwork);

    // Do something...

    [self performSelector:@selector(checkReachability) withObject:nil afterDelay:5.0];
}

다른 팁

그물에는 좋은 도달 가능성 예가 있습니다. 훌륭하게 잘 작동합니다.http://servin.com/iphone/iphone-network-status.html

그러나 당신은 내가 내 자신의 방식으로 그것을 사용하려고 할 때, 그것은 단지 폭탄만으로도 알 수 있습니다.

다음을 사용하여 구현하려고했습니다.

NSString *sCellNetwork;     
 NSString *sNetworkReachable;  

if (flags & kSCNetworkFlagsReachable || flags & kSCNetworkReachabilityFlagsIsWWAN)

{do it} 

 else {
   Network fail alert; 
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top