¿Hay alguna forma de comprobar si la conexión a Internet está disponible con Swift?
Sé que hay muchas bibliotecas de terceros para hacer esto, pero todas están escritas en Objective-C. Estoy buscando una alternativa a Swift.
ios
swift
network-connection
Isuru
fuente
fuente
Respuestas:
Como se mencionó en los comentarios, aunque es posible usar bibliotecas Objective-C en Swift, quería una solución Swift más pura. La clase de accesibilidad de Apple existente y otras bibliotecas de terceros me parecieron demasiado complicadas para traducir a Swift. Busqué en Google un poco más y encontré este artículo que muestra un método simple para verificar la disponibilidad de la red. Me propuse traducir esto a Swift. Encontré muchos inconvenientes, pero gracias a Martin R de StackOverflow, logré resolverlos y finalmente obtuve una solución viable en Swift. Aquí está el código.
Para Swift> 3.0
Esto funciona tanto para conexiones 3G como WiFi. También lo subí a mi GitHub con un ejemplo funcional.
fuente
isConnectedToNetwork
devuelve verdadero, pero no puedo llamar a mi servicio webTe doy mejor camino ...
Debes crear una clase con este código
Y luego puede verificar la conexión a Internet en cualquier lugar de su proyecto usando este código:
¡Muy fácil!
* ¡De esta manera se basa en la respuesta de Vikram Pote!
fuente
Para Swift 3.1 (iOS 10.1)
Si desea hacer la distinción entre el tipo de red (es decir, WiFi o WWAN):
Puedes usar:
Aquí está toda la clase de accesibilidad que distingue entre tipos de red:
fuente
Dado que sendSynchronousRequest está en desuso, intenté esto pero se llamó a 'return Status' antes de que finalizara la respuesta.
Sin embargo, esta respuesta funciona bien, verifique la conexión a Internet con Swift
Esto es lo que intenté de todos modos:
fuente
SWIFT 3: comprobaciones de la conexión a Internet y wifi :
USO:
fuente
public func isConnectedToNetwork() {...}
debe cambiarse aclass func isConnectedToNetwork{...}
para su caso de uso.También puede usar la respuesta a continuación.
fuente
SWIFT 3: compruebe la conexión 3G y Wi-Fi
fuente
Para Swift 5:
fuente
Rápido 4
fuente