0

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];

私が正しくやっていないことについて何か提案はありますか?

4

1 に答える 1