Saya tidak yakin apakah ini mungkin, tetapi saya memiliki skenario ini.
Saya memiliki situs web yang ditampilkan di UIWebView saya yang tautannya disetel di UISegmentedController. Situs web mereka dapat mendeteksi jika Anda menggunakan wifi atau di jaringan 3g.
Sekarang pengontrol tersegmentasi menunjuk ke 2 halaman berbeda: 1 - Layar login ramah iPhone 2 - Halaman beranda, setelah Anda masuk.
Sekarang inilah pertanyaannya:
Dapatkah saya memprogram aplikasi saya untuk mendeteksi apakah itu untuk WIFI atau 3G (saya tahu Anda dapat melakukan ini), tetapi kemudian berdasarkan jawaban pergi ke segmen 1 atau 2
Jenis seperti ini:
if (iPhone device is on 3g) {
Go to Segment 1;
} else {
Go to Segment 0;
}
ios
objective-c
wifi
reachability
3g
jwknz.dll
sumber
sumber
Jawaban:
Menggunakan kode yang telah disediakan Apple di sini
sumber
[reachability stopNotifier]
setelah Anda memiliki status?reachability
akan keluar dari ruang lingkup dan dibatalkan alokasinya pada akhir metode danstopNotifier
akan dipanggil secara implisit.ReachableViaWifiNetwork
Jika Anda tidak ingin mengimpor perpustakaan Reachability atau berurusan dengan pemberi tahu, Anda dapat menggunakan metode sinkron sederhana ini:
sumber
Impor Reachability Apple dan coba ini,
Referensi (Tautan mungkin rusak di masa mendatang):
Apa perbedaan sim jaringan CDMA dan WCDMA
Apa itu "EV-DO Rev. A"?
sumber
Saya membuat pembungkus Reachability berbasis blok yang cukup sederhana yang menghapus semua kode Reachability seperti C yang sudah ketinggalan zaman, dituangkan ke dalam bentuk Cocoa yang jauh lebih banyak.
Penggunaan seperti:
Lihat Reachability with blocks untuk penggunaan sehari-hari di blog eppz ! , atau ambil langsung dari jangkauan eppz! Di GitHub .
Ia juga bekerja dengan alamat IP , yang ternyata merupakan fitur pembungkus Reachability yang cukup langka.
sumber
Saat menggunakan iOS 12 atau yang lebih baru, Anda dapat menggunakan
NWPathMonitor
sebagai penggantiReachability
kelas prasejarah :sumber
Reachability.reachabilityWithHostName
?Untuk cepat kita bisa menggunakan:
sumber
Metode kelas adalah sebagai berikut
sumber
Untuk memeriksa apakah Anda menggunakan wifi, ini menghemat biaya pembuatan koneksi yang mahal. Periksa ifa_name "jembatan" untuk memeriksa berbagi internet.
sumber
Jika Anda menggunakan Xamarin atau Monotouch, Anda dapat menggunakan kelas yang diadaptasi Reachability dari repositori Xamarin GitHub:
https://github.com/xamarin/monotouch-samples/blob/master/ReachabilitySample/reachability.cs
Jadi tambahkan ke proyek Anda dan panggil
Reachability.InternetConnectionStatus()
sumber