0

Wifi がアクティブな接続であることを到達可能性が検出しないという問題があります。プロジェクトに標準の到達可能性クラスをインポートしました。実行するアクションで、実際に実行するアクションを決定するために Wifi が利用可能かどうかを検出します。

    Reachability *reachability = [Reachability reachabilityWithHostName:@"www.google.com"];
             NetworkStatus status = [reachability currentReachabilityStatus];
             NSLog(@"%i", status);
             if (status == ReachableViaWiFi) {
//do wifi action
}
else {
//do non wifi action
}

何があっても、常に else アクションを実行します。ステータスのログは「2」を返します。何が起こっているのでしょうか?

更新: 多くのテストを行った結果、何らかの理由で、このアプリで WWAN と WIFI が逆になっていることがわかりました。実際のデバイスで WiFi をオフにして実行すると、接続ステータスが WIFI として表示され、WIFI ネットワークに接続されている場合は接続ステータスが WWAN として表示されます。

4

1 に答える 1

0

プログラミングを調べて、スイッチ ケースの問題に絞り込みました。到達可能性は 2 を返しましたが、別のクラス内のスイッチ ケースはケース 2 の「wifi」ではなく「wwan」を返しました。この回答を確認するか、この質問を閉じてください。他の人は解決した問題に答えようとしません、ありがとう。

于 2013-07-01T16:04:16.127 に答える