Como posso verificar se os dados móveis ou o wifi estão ativados ou desativados? ios swift

no meu aplicativo, estou verificando se os dados móveis estão desativados, mostrando o pop-up, como verifique sua conexão de dados. para isso eu escrevo 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

    }
}

mas por esse código é só verificar se o wifi está conectado ou não. mas se eu tentar com dados móveis 3G, ele sempre me mostra que seus dados móveis não estão conectados. Então, como posso resolver isso?

questionAnswers(3)

yourAnswerToTheQuestion