Adakah cara untuk memeriksa apakah koneksi internet tersedia menggunakan Swift?
Saya tahu ada banyak perpustakaan pihak ketiga untuk melakukan ini, tetapi semuanya ditulis dalam Objective-C. Saya mencari alternatif Swift.
ios
swift
network-connection
Isuru
sumber
sumber
Jawaban:
Seperti yang disebutkan dalam komentar, meskipun dimungkinkan untuk menggunakan pustaka Objective-C di Swift, saya menginginkan solusi Swift yang lebih murni. Kelas Apple Reachability yang sudah ada dan pustaka pihak ketiga lainnya tampaknya terlalu rumit untuk saya terjemahkan ke Swift. Saya mencari di Google lagi dan saya menemukan artikel ini yang menunjukkan metode sederhana untuk memeriksa ketersediaan jaringan. Saya mulai menerjemahkan ini ke Swift. Saya mengalami banyak halangan tetapi berkat Martin R dari StackOverflow, saya berhasil menyelesaikannya dan akhirnya mendapatkan solusi yang bisa diterapkan di Swift. Ini kodenya.
Untuk Swift> 3.0
Ini berfungsi untuk koneksi 3G dan WiFi. Saya juga mengunggahnya ke GitHub saya dengan contoh yang berfungsi.
sumber
isConnectedToNetwork
mengembalikan true, tetapi saya tidak dapat menghubungi layanan web sayaSaya memberi Anda cara yang lebih baik ...
Anda harus membuat kelas dengan kode ini
Dan kemudian Anda dapat memeriksa koneksi internet di mana saja dalam proyek Anda menggunakan kode ini:
Sangat mudah!
* Cara ini berdasarkan jawaban Vikram Pote!
sumber
Untuk Swift 3.1 (iOS 10.1)
Jika Anda ingin membuat perbedaan antara tipe jaringan (yaitu WiFi atau WWAN):
Kamu bisa memakai:
Berikut adalah seluruh Reachability-Class yang membedakan antara tipe jaringan:
sumber
Karena sendSynchronousRequest sudah tidak digunakan lagi, saya mencoba ini tetapi 'Status kembali' dipanggil sebelum tanggapan selesai.
Jawaban ini bekerja dengan baik, Periksa koneksi internet dengan Swift
Inilah yang saya coba:
sumber
SWIFT 3: Memeriksa koneksi wifi dan internet :
PEMAKAIAN:
sumber
public func isConnectedToNetwork() {...}
harus diubah menjadiclass func isConnectedToNetwork{...}
untuk kasus penggunaan Anda.Anda juga dapat menggunakan jawaban di bawah ini.
sumber
SWIFT 3: Periksa koneksi 3G & Wi-Fi
sumber
Untuk Swift 5:
sumber
Cepat 4
sumber