Saya tahu pertanyaan ini akan tampak seperti penipuan banyak orang lain, namun, saya tidak merasa kasus sederhana dijelaskan dengan baik di sini. Berasal dari latar belakang Android dan BlackBerry, membuat permintaan HTTPUrlConnection
gagal secara instan jika tidak ada koneksi. Ini sepertinya perilaku yang benar-benar waras, dan saya terkejut menemukan NSURLConnection
di iOS tidak meniru itu.
Saya mengerti bahwa Apple (dan lainnya yang telah memperpanjangnya) menyediakan Reachability
kelas untuk membantu menentukan keadaan jaringan. Saya senang untuk pertama kali melihat ini dan sepenuhnya diharapkan untuk melihat sesuatu seperti bool isNetworkAvailable()
, tetapi saya terkejut menemukan sistem yang rumit yang membutuhkan pendaftaran notifikasi dan panggilan balik, dan banyak detail yang tampaknya tidak perlu. Pasti ada cara yang lebih baik.
Aplikasi saya sudah dengan anggun menangani kegagalan koneksi, termasuk tidak ada konektivitas. Pengguna diberitahu tentang kegagalan, dan aplikasi bergerak.
Jadi persyaratan saya sederhana: Satu, fungsi sinkron yang bisa saya panggil sebelum semua permintaan HTTP untuk menentukan apakah saya benar-benar harus mengirim permintaan atau tidak. Idealnya tidak memerlukan pengaturan dan hanya mengembalikan boolean.
Apakah ini benar-benar tidak mungkin di iOS?