iPhone 14 Pro Max 获取的网卡信息不包含en0

    func isWiFiOn() -> Bool {
      var address : String?
      var ifaddr : UnsafeMutablePointer<ifaddrs>? = nil
      guard  getifaddrs(&ifaddr) == 0 else {
        return true
      }
      defer {
        freeifaddrs(ifaddr)
      }

      var ptr = ifaddr
      while ptr != nil {
        defer { ptr = ptr?.pointee.ifa_next }
        let interface = ptr!.pointee
        let addrFamily = interface.ifa_addr.pointee.sa_family
        if addrFamily == UInt8(AF_INET) || addrFamily == UInt8(AF_INET6) {

          guard let interface_name:UnsafeMutablePointer<Int8> = (interface.ifa_name) else {
              continue
          }
          let name: String = String(cString: interface_name)
          guard name == "en0" else {
              continue
          }

          if (Int32(interface.ifa_flags) & IFF_UP) == IFF_UP {
              return(true)
          }
          else {
            return(false)
          }
        }
      }
   return (false)
    }

上述代码中在部分iPhone 14 pro Max 机型上获取到的interface_name没有“en0”,暂未定位到原因

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容