
Swift
Swiftimport NetworkExtension步骤 2: 创建 NEHotspotNetworkManager 实例接下来,我们需要创建一个 NEHotspotNetworkManager 的实例来获取设备的 WIFI IP 地址。NEHotspotNetworkManager 是 NetworkExtension 框架中的一个类,它用于管理 Wi-Fi 热点网络。
Swiftlet hotspotNetworkManager = NEHotspotNetworkManager.shared步骤 3: 获取当前连接的 WIFI 网络使用 hotspotNetworkManager 的
fetchCurrentSSID(completionHandler:) 方法来获取当前连接的 WIFI 网络的信息,其中 completionHandler 是一个回调闭包,用于处理获取结果。SwifthotspotNetworkManager.fetchCurrentSSID { (ssid) in if let ssid = ssid { // 执行获取 WIFI IP 地址的操作 } else { print("未连接到 WIFI 网络") }}步骤 4: 获取设备的 WIFI IP 地址要获取设备的 WIFI IP 地址,我们可以使用 NEHotspotNetworkManager 的 setAuthorization(_:), getconnectionInfo(_:completionHandler:) 和 remove(_:completionHandler:) 方法。首先,使用 setAuthorization(_:) 方法来请求用户授权,以便我们可以获取设备的网络连接信息。SwifthotspotNetworkManager.setAuthorization(true)接下来,使用
getconnectionInfo(_:completionHandler:) 方法来获取设备的网络连接信息,包括 WIFI IP 地址。SwifthotspotNetworkManager.getconnectionInfo { (connectionInfo, error) in if let connectionInfo = connectionInfo { let iPaddresses = connectionInfo.iPaddress for iPaddress in iPaddresses { print("WIFI IP 地址: \(iPaddress)") } } else if let error = error { print("获取连接信息错误: \(error.localizedDescription)") }}最后,使用 remove(_:completionHandler:) 方法来取消授权。SwifthotspotNetworkManager.removeAuthorization()完整示例代码下面是一个完整的示例代码,展示了如何使用 Swift 获取设备的 WIFI IP 地址:
Swiftimport NetworkExtensionlet hotspotNetworkManager = NEHotspotNetworkManager.sharedhotspotNetworkManager.fetchCurrentSSID { (ssid) in if let ssid = ssid { hotspotNetworkManager.setAuthorization(true) hotspotNetworkManager.getconnectionInfo { (connectionInfo, error) in if let connectionInfo = connectionInfo { let iPaddresses = connectionInfo.iPaddress for iPaddress in iPaddresses { print("WIFI IP 地址: \(iPaddress)") } } else if let error = error { print("获取连接信息错误: \(error.localizedDescription)") } hotspotNetworkManager.removeAuthorization() } } else { print("未连接到 WIFI 网络") }}通过使用 Swift 中的 NetworkExtension 框架,我们可以轻松地获取设备的 WIFI IP 地址。这对于开发需要与局域网内其他设备进行通信的应用程序非常有用。希望本文能帮助你在 Swift 中获取设备的 WIFI IP 地址。Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号