6

私はdeveloper.apple.comでReachabilityサンプルプロジェクトを調べていましたが、ネットワーク接続があることを確認するためだけの大規模なプロジェクトであることがわかりました。

質問の最初の部分は、「デバイスが3Gまたはwifiネットワークに到達できるかどうかを確認するために必要な最小コードは何ですか?」です。

次に、これはappDelegate内(起動時)または起動された最初のView Controller内で実行する必要がありますか?

前もって感謝します

4

1 に答える 1

3

それは大きくはありません、それは本当にあなたが望むことをします。大きすぎる場合は、reachabilityForLocalWiFi のように必要なものだけを抽出できます。しかし、私はそれがそれほど小さくならないことを恐れています。

はい、アプリケーション デリゲートまたは最初のビュー コントローラー内で到達可能性を使用できます。

到達通知登録 ...

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(networkReachabilityDidChange:)
                                             name:kReachabilityChangedNotification
                                           object:nil];
__reachability = [[Reachability reachabilityWithHostName:@"www.google.com"] retain];
[__reachability startNotifier];

... コールバック メソッドの例 ...

- (void)networkReachabilityDidChange:(NSNotification *)notification {
  Reachability *reachability = ( Reachability * )[notification object];
  if ( reachability.currentReachabilityStatus != NotReachable ) {
    // Network is available, ie. www.google.com
  } else {
    // Network is not available, ie. www.google.com
  }
}

...通知を停止し、オブザーバーを削除し、rechability オブジェクトを解放することを忘れないでください。

于 2011-02-16T09:08:59.007 に答える