¿Cómo puedo verificar si los datos móviles o wifi están activados o desactivados? ios swift

en mi aplicación, verifico que si los datos móviles están apagados, muestra la ventana emergente, como verificar su conexión de datos. para eso escribo este código

 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(kCFAllocatorDefault, UnsafePointer($0))
        }

        var flags: SCNetworkReachabilityFlags = SCNetworkReachabilityFlags(rawValue: 0)
        if SCNetworkReachabilityGetFlags(defaultRouteReachability!, &flags) == false {
            return false
        }

        let isReachable = flags == .Reachable
        let needsConnection = flags == .ConnectionRequired

        return isReachable && !needsConnection

    }
}

pero con este código solo verifica que wifi esté conectado o no. pero si intento con datos móviles 3g, siempre me muestra que sus datos móviles no están conectados. Entonces, ¿cómo puedo resolver esto?

Respuestas a la pregunta(3)

Su respuesta a la pregunta