iOS中如何获取当前网络及其本地IP(Swift)
来源:互联网 发布:东方有线网络 编辑:程序博客网 时间:2024/06/05 09:03
···
//获取当前网络
func getUsedSSID() -> String { let interfaces = CNCopySupportedInterfaces()
var ssid = ""
if interfaces != nil {
let interfacesArray =CFBridgingRetain(interfaces) as! Array<AnyObject>
if interfacesArray.count >0 {
let interfaceName = interfacesArray[0]as! CFString
let ussafeInterfaceData =CNCopyCurrentNetworkInfo(interfaceName)
if (ussafeInterfaceData !=nil) {
let interfaceData = ussafeInterfaceDataas! Dictionary<String,Any>
ssid = interfaceData["SSID"]!as! String
}
}
}
return ssid
}
//获取本机ip
func getLocalIPAddressForCurrentWiFi() ->String? {
var address: String?
// get list of all interfaces on the local machine
var ifaddr:UnsafeMutablePointer<ifaddrs>? = nil
guard getifaddrs(&ifaddr) == 0 else {
return nil
}
guard let firstAddr = ifaddr else {
return nil
}
for ifptr in sequence(first: firstAddr, next: { $0.pointee.ifa_next }) {
let interface = ifptr.pointee
// Check for IPV4 or IPV6 interface
let addrFamily = interface.ifa_addr.pointee.sa_family
if addrFamily == UInt8(AF_INET) || addrFamily == UInt8(AF_INET6) {
// Check interface name
let name = String(cString: interface.ifa_name)
if name == "en0" {
// Convert interface address to a human readable string
var addr = interface.ifa_addr.pointee
var hostName = [CChar](repeating:0, count: Int(NI_MAXHOST))
getnameinfo(&addr,
socklen_t(interface.ifa_addr.pointee.sa_len),
&hostName, socklen_t(hostName.count), nil,socklen_t(0), NI_NUMERICHOST)
address = String(cString: hostName)
}
}
}
freeifaddrs(ifaddr)
return address
}
···
- iOS中如何获取当前网络及其本地IP(Swift)
- 获取当前网络ip
- VC++中如何获取本地IP地址
- iOS开发中获取当前网络的ip及连接wifi时wifi的名字
- iOS获取本地ip
- iOS 获取本地IP
- 如何获取本地IP
- ios开发之Swift获取视频截图(本地视频、网络视频的缩略图)(转)
- ios开发之Swift获取视频截图(本地视频、网络视频的缩略图)
- iOS中如何查询当前网络信息
- IOS中如何判断当前网络状态
- IOS中如何判断当前网络状态
- iOS中如何查询当前网络信息
- IOS中如何判断当前网络状态
- ios关于如何获取手机当前的ip
- swift 中获取当前时间
- SWIFT中获取当前经伟度
- iOS 获取网络ip
- 深度学习入门者的Python快速教程
- Mongodb 的索引架构
- iOS开发笔记之view的渲染优化
- 关于TP5视图分离到根目录的解决方法 原有: 为了方便前端开发,我想把视图(view)部分分离出来专门给前端进行修改 过程:在进行视图设置分离的过程遇到了问题 参考了官方文档http://www
- 栈的增删改查基本操作
- iOS中如何获取当前网络及其本地IP(Swift)
- IOS 键盘右上角完成按钮自定义
- spring 中事务配置方式以及事务的传播性、隔离级别
- 内存空间和用户空间
- 侧滑菜单+横向滑动列表
- zabbix3邮件告警
- 一图详解仿射变换的旋转矩阵推导
- AngularJS+日程表+显示、隐藏 +orderBy排序
- 安卓向服务器提交数据,并获取数据