0

重複の可能性:
ワイヤレスが利用可能な場合でも、SCNetworkReachabilityGetFlagsは0を返します

SCNetworkReachabilityGetFlagsを使用して、インターネット接続が利用可能かどうかを判断しています。特定の電話では、一部のホストまたはIPアドレスに到達できないなど、誤った情報が提供されることがあります。フラグを無視してリクエストを起動すると、すべてが正常に機能します。

この回答は、機内モードのオンとオフを再度切り替えると、SCNetworkReachabilityGetFlagsが使用している可能性のあるキャッシュが解放されることを 示しています。SCNetworkReachabilityGetFlagsは、ワイヤレスが利用可能な場合でも0を返します。

明らかに、これはユーザビリティの観点からは実際にはオプションではありません。誰かが同じ問題に遭遇しましたか?到達可能性をチェックするための代替手段はありますか?

4

2 に答える 2

0

私の仕事はネットワーク設定をリセットすることです。

于 2011-11-14T11:18:42.117 に答える
0

NSURL の便利な方法を使用することもできます。

- (BOOL)checkResourceIsReachableAndReturnError:(NSError **)error

NSURL 開発者向けドキュメント

もちろん、システム構成でできるように、ネットワークがオフライン (またはオンライン) になったときに通知を受け取りたい場合、これはあまり役に立ちません。

私の Mac 用の IM アプリケーションでは、ウォッチドッグ (20 秒タイマー) を使用しています。

于 2011-11-14T11:19:35.877 に答える