11

私のアプリはインターネットにアクセスし、Wi-Fiまたはキャリアデータネットワークを介して接続があるかどうかを検出したいだけです

アップルはその「到達可能性」の例を作りました

https://developer.apple.com/iphone/library/samplecode/Reachability/

キャリアネットワークではなく、Wi-Fiを検出するだけだと思います

誰でも教えてもらえますか、接続があるかどうかを検出するために最善を尽くすことは何ですか

あなたの助けに感謝します!

4

5 に答える 5

13

そのサンプルはまさにあなたが必要としているものです。

Reachability.m を見てください。接続があるかどうか、次に接続の種類が表示されます。

于 2009-10-26T14:38:28.690 に答える
9

接続されているかどうか、および接続されている場合に使用している接続のタイプを検出したいだけの場合、到達可能性の例はやり過ぎかもしれません。実際、この例には、状態の変化を通知するコールバックを設定して使用する方法を示すコードも含まれています。

接続されているかどうか、および使用している接続のタイプを正確に示すソースコードのスニペットについては、ここに投稿されている同様の質問に対する私の回答を参照してください。

于 2009-10-26T15:08:10.813 に答える
3

Web リソースにリクエストを送信すると、iPhone は見つかった接続を使用し、Wi-Fi を (より高い優先度として) 使用し、Wi-Fi が接続されていない場合はキャリア ネットワークを使用します。キャリア ネットワークを妨げるコード設定はありません。

あなたがしなければならないすべて:

  • 試験場所で信号を確認してください。
  • サファリで到達しようとしているリンクをチェックして、問題のあるアプリではないことを確認してください。
  • Safari でリンクが機能しない場合は、キャリア サポートにお問い合わせください (キャリア ネットワークを使用していることを確認してください)。
于 2010-01-10T06:59:07.567 に答える
2

これらの手法は便利ですが、インターネットへのデバイスのパスがいくつかの異なるタイプの接続で構成されている可能性があることに注意してください。たとえば、iPhone または iPod touch が WiFi を使用してモバイル ホットスポットに接続している場合、そのホットスポットには独自の 3G ワイヤレス接続があります。したがって、WiFi 接続の存在が 3G よりも高い帯域幅を意味すると仮定するのは安全ではありません。

于 2011-02-09T19:08:33.140 に答える
0

到達可能性 (Apple のサンプル コードと他の人の同様のコードの両方、および基礎となる SCNetworkReachability は、インターネット アクセスがないか、WiFi 経由でインターネット アクセスを取得するか、またはモバイル データ経由でインターネット アクセスを取得するかのいずれかを通知します。

WiFi とモバイル データの両方が利用可能な場合は、「WiFi」と表示されます。WiFi がある場合、モバイル データが利用可能かどうかを確認する方法はありません。(WiFi がない場合でも、モバイル データが利用可能であることは簡単にわかります)。機内モードがオンになっているかどうかはわかりません (これは、WiFi やモバイル データがオフになっている場合とは異なります)。

Wi-Fi が利用可能であっても、ダウンロードでモバイル データではなく Wi-Fi が使用されるとは限りません。自宅でダウンロードを開始し、1 分後にその場を離れると、WiFi が消え、iOS は 3G 経由で喜んでダウンロードを続行します。ダウンロード呼び出しでフラグを設定して、3G を許可しないようにすることができます。エラー コードは -1009 = インターネット アクセスがありません。3G が利用可能であったという記述はありません。

CTTelephonyNetworkInfo を使用すると、モバイル データを持つ可能性のあるデバイス(モバイル データのない iPod Touch や iPad ではなく、デバイスに SIM がある) を使用していることを確認できます。

于 2015-05-19T14:12:58.713 に答える