Apple の Reachability サンプル コードを使用してネットワーク接続の変化を検出し、アプリがフォアグラウンドに戻ったときに正確なネットワーク ステータスを取得する方法を考えています。
現在表示されている UIViewController では、kReachabilityChangedNotification (Reachability サンプル コードと同じ) のオブザーバーとして登録し、UIApplicationWillEnterForegroundNotification および UIApplicationWillResignActiveNotification イベントもリッスンしています。
アプリが一時停止する直前に、現在表示されている UIViewController で:
// While the app is in the foreground, I configure SCNetworkReachabilitySetCallback
// At this point, I have lost connectivity.
[reachability startNotifier];
// this returns NotReachable, as expected
NetworkStatus status = [reachability currentReachabilityStatus];
アプリを一時停止し、wifi 設定を変更します (ネットワーク設定を変更して接続します)。
After app resume: (in the UIApplicationWillEnterForegroundNotification handler)
// this still returns NotReachable even though I now have connectivity.
NetworkStatus status = [reachability currentReachabilityStatus];
私が正しくやっていないことについて何か提案はありますか?