首页 > 解决方案 > React-native 要求 iOS 启用 wifi

问题描述

我找不到检查iOS上是否启用wifi的方法。我目前正在创建跟踪应用程序并增加我们需要启用 wifi 的用户位置。所以我想要求用户启用 wifi,但我想检查它当前是否启用。有办法吗?

标签: iosxcodereact-native

解决方案


您可以通过以下方法获得所需的状态。在本机中编写此方法并使用 Promise 从 React Native 访问。参考:https ://francescocrema.it/check-wifi-status-on-ios-in-swift/

func isWiFiOn() -> Bool {
        var address : String?
        var ifaddr : UnsafeMutablePointer<ifaddrs> = nil
        if getifaddrs(&ifaddr) == 0 {
            var ptr = ifaddr
            while ptr != nil {
                defer { ptr = ptr.memory.ifa_next }
                let interface = ptr.memory
                let addrFamily = interface.ifa_addr.memory.sa_family
                if addrFamily == UInt8(AF_INET) || addrFamily == UInt8(AF_INET6) {
                    if let name = String.fromCString(interface.ifa_name) where name == "awdl0" {
                        if((Int32(interface.ifa_flags) & IFF_UP) == IFF_UP) {
                            return(true)
                        }
                        else {
                            return(false)
                        }
                    }
                }
            }
            freeifaddrs(ifaddr)
        }
        return (false)
    }

推荐阅读