[英]How do I know when the iOS device is now connected to internet?
I have a question, I am developing an app for people who normally works in a zone that does not have an internet connection, the app will store data (coreData) during the day but when the device is connected to internet, the application must send the stored data to be saved in the cloud. 我有一个问题,我正在为通常在没有Internet连接的区域中工作的人们开发一个应用程序,该应用程序将在白天存储数据(coreData),但是当设备连接到Internet时,该应用程序必须发送存储的数据要保存在云中。 Can I know when the device change from not connected to connected?
我可以知道设备何时从未连接更改为已连接吗? Can I launch my app when that happen?
发生这种情况时,我可以启动我的应用程序吗? Can my app wait for events in the background?
我的应用程序可以在后台等待事件吗? Any clues?
有什么线索吗? Anything like a service in Android?
像Android中的服务一样吗? I think about how WhatsApp works, I mean, when I am not connected, I do not receive any messages but when I am connected (even if the app is not running), automatically the app start and I receive all my messages.
我考虑的是WhatsApp的工作原理,我的意思是,当我未连接时,我没有收到任何消息,但是当我连接时(即使该应用程序未运行),该应用程序会自动启动,并且收到所有消息。 Thank you and Hello from Bogotá!
谢谢,您好,波哥大!
To check for an internet connection on an IOS device using swift, use this code below... 要使用swift检查IOS设备上的互联网连接,请使用以下代码...
import Foundation
import SystemConfiguration
public class Reachability {
class func isConnectedToNetwork() -> Bool {
var zeroAddress = sockaddr_in(sin_len: 0, sin_family: 0, sin_port: 0, sin_addr: in_addr(s_addr: 0), sin_zero: (0, 0, 0, 0, 0, 0, 0, 0))
zeroAddress.sin_len = UInt8(sizeofValue(zeroAddress))
zeroAddress.sin_family = sa_family_t(AF_INET)
let defaultRouteReachability = withUnsafePointer(&zeroAddress) {
SCNetworkReachabilityCreateWithAddress(nil, UnsafePointer($0)).takeRetainedValue()
}
var flags: SCNetworkReachabilityFlags = 0
if SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags) == 0 {
return false
}
let isReachable = (flags & UInt32(kSCNetworkFlagsReachable)) != 0
let needsConnection = (flags & UInt32(kSCNetworkFlagsConnectionRequired)) != 0
return (isReachable && !needsConnection) ? true : false
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.