Existe-t-il un moyen de vérifier si la connexion Internet est disponible avec Swift?
Je sais qu'il existe de nombreuses bibliothèques tierces pour ce faire, mais elles sont toutes écrites en Objective-C. Je recherche une alternative Swift.
ios
swift
network-connection
Isuru
la source
la source
Réponses:
Comme mentionné dans les commentaires, bien qu'il soit possible d'utiliser les bibliothèques Objective-C dans Swift, je voulais une solution Swift plus pure. La classe d'accessibilité Apple existante et d'autres bibliothèques tierces me semblaient trop compliquées à traduire en Swift. J'ai cherché un peu plus sur Google et je suis tombé sur cet article qui montre une méthode simple pour vérifier la disponibilité du réseau. J'ai décidé de traduire ceci en Swift. J'ai rencontré de nombreux problèmes, mais grâce à Martin R de StackOverflow, j'ai réussi à les résoudre et enfin à obtenir une solution viable dans Swift. Voici le code.
Pour Swift> 3.0
Cela fonctionne pour les connexions 3G et WiFi. Je l'ai également téléchargé sur mon GitHub avec un exemple fonctionnel.
la source
isConnectedToNetwork
retourne true, mais je ne peux pas appeler mon service WebJe te donne un meilleur moyen ...
Vous devez créer une classe avec ce code
Et puis, vous pouvez vérifier la connexion Internet n'importe où dans votre projet en utilisant ce code:
Très facile!
* Cette méthode est basée sur la réponse de Vikram Pote!
la source
Pour Swift 3.1 (iOS 10.1)
Si vous souhaitez faire la distinction entre le type de réseau (c'est-à-dire WiFi ou WWAN):
Vous pouvez utiliser:
Voici toute la classe d'accessibilité qui distingue les types de réseau:
la source
Puisque sendSynchronousRequest est obsolète, j'ai essayé ceci mais 'return Status' a été appelé avant la fin de la réponse.
Cette réponse fonctionne bien cependant, vérifiez la connexion Internet avec Swift
Voici ce que j'ai essayé de toute façon:
la source
SWIFT 3: Vérifie wifi et internet connexion:
USAGE:
la source
public func isConnectedToNetwork() {...}
doit être remplacé parclass func isConnectedToNetwork{...}
pour votre cas d'utilisation.Vous pouvez également utiliser la réponse ci-dessous.
la source
SWIFT 3: vérifier la connexion 3G et Wi-Fi
la source
Pour Swift 5:
la source
Swift 4
la source