1

現在、私が取り組んでいるアプリで、この非常に奇妙なケースがあります。私がテストしている Wi-Fi ネットワークではインターネットが有効になっていませんが、Reachability. このケースを確認して、利用可能な接続がないことをユーザーに伝えるにはどうすればよいですか?

4

2 に答える 2

1

特定の外部ホスト名に到達できるかどうかを確認するには、(またはreachabilityWithHostNameを使用していると思われます)を使用する必要があります。reachabilityForInternetConnectionreachabilityForLocalWiFi

たとえば、次のコードは、インターネット接続がない場合に YES を返します。

Reachability *reachability = [Reachability reachabilityWithHostName:@"www.apple.com"];
if ([reachability currentReachabilityStatus] == NotReachable)
     return YES;
于 2012-11-03T17:22:08.773 に答える
0

「接続」を定義します。Wi-Fi 経由でインターネット サービスを機能させるための鍵となる接続の層がいくつかあります。

  • レイヤ 1 (物理リンク) の無線は範囲内にありますか?
  • レイヤー 2 (MAC) のほとんどは上記を参照してください。ただし、競合する MAC アドレスが問題を引き起こす可能性があります
  • レイヤー 3 (IP) DHCP/BOOTP または静的構成から IP アドレスを取得しましたか?
  • レイヤ 3 (GW) ゲートウェイに到達できますか?
  • レイヤ 3 (ROUTE) ネクスト ホップ ルータに到達できますか?
  • レイヤー 7 (DNS) DNS サーバーに到達できますか? 私たちはだまされたり、魅了されたりしていますか?

これらすべてが機能したら、「Wi-Fi が機能している」はずです。

于 2013-12-11T01:50:05.403 に答える