도달 가능성 코드를 앱에 포함 시켰고 몇 달 동안 성공적으로 작동했지만 지금까지는 iOS 5 장비에서만 사용했습니다. 그러나 iOS 4 기기에서는 작동하지 않습니다.도달 가능성 변경 알림은 iOS5에서 작동하지만 iOS4에서는 작동하지 않습니다.
통지는 다음과 같이 등록됩니다:
- (id) init
{
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(reachabilityChange:)
name:kReachabilityChangedNotification
object:nil];
...
- (void) appBecameActive
{
...
self.reachability = [Reachability reachabilityWithHostName:[url host]];
...
[self.reachability startNotifier];
stopNotifier 만의 dealloc 호출 받고있는 reachabiity 변화가있을 때
문제는 ReachabilityCallback가 다시 전화를 받고되지 않고, I iOS5에서는 괜찮지 만 iOS4에서는 그렇지 않은 이유를 알 수 없습니다.
코드의이 부분은 애플 샘플 소스 코드에서 변경되지 않습니다 : iOS5를 장치에서 실행되는 경우
언급 한 바와 같이static void ReachabilityCallback(SCNetworkReachabilityRef target, SCNetworkReachabilityFlags flags, void *info) {
#pragma unused (target, flags)
NSCAssert(info != NULL, @"info was NULL in ReachabilityCallback");
NSCAssert([(__bridge id)info isKindOfClass:[Reachability class]], @"info was wrong class in ReachabilityCallback");
Reachability *noteObject = (__bridge Reachability *)info;
// Post a notification to notify the client that the network reachability changed.
[[NSNotificationCenter defaultCenter] postNotificationName:kReachabilityChangedNotification object:noteObject];
}
이 모든 것이 오랜 시간 동안 제대로 작동 된 유사한 문제가 발생 다른 사람이있다 과거에는 도달 가능성 코드를 iOS4에 통합 했습니까?
내가 도달 가능성과 함께 일을 할 때마다 나는에서 SystemConfiguration 프레임 워크를 링크 (당신은 주 스레드에서 그들을 위해 수신한다고 가정), 당신은 뭐하는거야? – kevboh
고마워,하지만 내가 언급했듯이 iO5에서는 프레임 워크 없이는 작동하지 않는다. – Gruntcakes
... [당신은 무엇을 당신의 질문에 그냥 했습니까?] (0120-13995/Revisions) – BoltClock