J'ai utilisé une solution de débordement de pile pour vérifier la connectivité Internet Son travaille pour les réseaux wifi, mais pas pour le réseau cellulairevérifier la connectivité Internet pour les réseaux cellulaires à ios utilisant Swift
public class YASConnectivity {
class func isConnectedToNetwork() -> Bool {
var zeroAddress = sockaddr_in()
zeroAddress.sin_len = UInt8(sizeofValue(zeroAddress))
zeroAddress.sin_family = sa_family_t(AF_INET)
guard let defaultRouteReachability = withUnsafePointer(&zeroAddress, {
SCNetworkReachabilityCreateWithAddress(nil, UnsafePointer($0))
}) else {
return false
}
var flags : SCNetworkReachabilityFlags = []
if !SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags) {
return false
}
let isReachable = flags.contains(.Reachable)
let needsConnection = flags.contains(.ConnectionRequired)
return (isReachable && !needsConnection)
}
}
Comment puis-je vérifier la connectivité Internet réseaux cellulaires?
Je reçois cette erreur lorsque vous essayez la solution Rock
Où est-ce exactement que je dois réaliser cela? – Byte
@Byte Vous pouvez l'exécuter dans votre contrôleur de vue principale ou votre délégué d'application, je suggère d'utiliser un objet qui l'enveloppe pour que vous puissiez avoir un code propre. Anywaym la première étape pourrait être appelez-le dans le délégué de l'application dans le lancement avec options délégué –
pouvez-vous s'il vous plaît mettre à jour votre réponse sous la forme d'une fonction qui renvoie booléenne pour la connectivité? Merci – Byte