79721419

Date: 2025-07-31 14:19:04
Score: 2.5
Natty:
Report link

если кому еще нужно, то вот вроде рабочий вариант с проверкой флагов, тк без флагов всегда возвращается true:

func isWifiEnabled() -> Bool {
    
    var ifaddr: UnsafeMutablePointer<ifaddrs>?
    var awdl = 0
    
    if getifaddrs(&ifaddr) == 0, let firstAddr = ifaddr {
        for ptr in sequence(first: firstAddr, next: { $0.pointee.ifa_next }) {
            let name = String(cString: ptr.pointee.ifa_name)

            if name == "awdl0" {
                let flags = ptr.pointee.ifa_flags
                let isUp = (flags & UInt32(IFF_UP)) != 0
                let isRunning = (flags & UInt32(IFF_RUNNING)) != 0
                
                //                    freeifaddrs(ifaddr)
                print("wifi: awdl\(awdl) - \(isUp), r: \(isRunning)")
                if isUp && isRunning{
                    awdl += 1 // isUp && isRunning
                }
            }
        }
        
    }
    
    freeifaddrs(ifaddr)
    
    return awdl > 1
}
Reasons:
  • Long answer (-0.5):
  • Has code block (-0.5):
  • No latin characters (2.5):
  • Low reputation (1):
Posted by: Андрей Шварко