+ (BOOL) networkAvailable {
Reachability *reachability = [Reachability reachabilityForInternetConnection];
NetworkStatus internetStatus = [reachability currentReachabilityStatus];
if (internetStatus != NotReachable) {
return YES;
}
return NO;
}
Tony Million の Reachability クラスを使用しています。現在の到達可能性を確認する静的ユーティリティ メソッドを作成しました。ただし、アプリが起動されたときに初めて機能します。
シミュレーターでアプリを起動した後、iMac (オフィスの共有 LAN に接続している) から LAN ケーブルを取り外すと、
このメソッドは依然として YES を返します。
また、デバイスでテストし、wifi 接続を削除して API 呼び出しを試みると、同じ動作が発生します。
インターネットが利用できなくなったことを検出することはありません。
到達可能性の変更の通知は必要ありません。API 呼び出しを行う前に、接続が利用可能かどうかを確認できるようにしたいだけです。
編集: これは私がそれを使用する方法です。
if(![MyUtilities networkAvailable])
{
// network not there. show a message.
}
else {
// make the API call
}