接続が存在する場合にYESを返す特定のメソッドでNSURLConnection呼び出しを使用して、Webサービスの可到達性をテストするのは悪い習慣ですか?このように可到達性をテストするのは悪い習慣ですか?
私は他の方法を検討しましたが、特定のサービスがWiFIなどではなく使用可能かどうかをテストすることはできませんでした。
接続が存在する場合にYESを返す特定のメソッドでNSURLConnection呼び出しを使用して、Webサービスの可到達性をテストするのは悪い習慣ですか?このように可到達性をテストするのは悪い習慣ですか?
私は他の方法を検討しましたが、特定のサービスがWiFIなどではなく使用可能かどうかをテストすることはできませんでした。
(Apple's Reachability sample codeを参照)がありますが、サーバーに到達可能かどうかを確認するだけで、実際にサービスが利用可能かどうかはわかりません。そのためには、それを使用しようとする必要があります。 ではなく、をメインスレッド上で使用するようにしてください。これは同期的に行われ、完了するまでスレッドをブロックします。メインスレッドでこれを行うと、サービスが応答するかタイムアウトするまで、UIはフリーズします。したがって、NSURLConnection
の非同期メソッド(「推奨」方法)を使用するか、別のスレッドで同期メソッドを使用してください。前者は私の意見ではより簡単です。
確実に行う方法です。ただし、テストを行って実際のデータを取得しようとする間にサービスのステータスが変わる可能性があるので、実際の接続をまだチェックしていないかのようにコーディングする必要があります。
興味深い!実際には「SCNetworkReachability」と呼ばれていますが、名前を付け加えて検索性を向上させています。;-) – Jay
@Jay:ありがとうございました。 – DarkDust