Get Local IP Address in Swift
2016-01-14 21:42
579 查看
Swift获取本机IP地址,子网掩码,广播地址.
Reference:How to get Ip address in swift
static func getIPAddresses() -> [String] { var addresses = [String]() // Get list of all interfaces on the local machine: var ifaddr : UnsafeMutablePointer<ifaddrs> = nil if getifaddrs(&ifaddr) == 0 { // For each interface ... for (var ptr = ifaddr; ptr != nil; ptr = ptr.memory.ifa_next) { let flags = Int32(ptr.memory.ifa_flags) var addr = ptr.memory.ifa_addr.memory // Check for running IPv4, IPv6 interfaces. Skip the loopback interface. if (flags & (IFF_UP|IFF_RUNNING|IFF_LOOPBACK)) == (IFF_UP|IFF_RUNNING) { if addr.sa_family == UInt8(AF_INET) || addr.sa_family == UInt8(AF_INET6) { // Convert interface address to a human readable string: var hostname = [CChar](count: Int(NI_MAXHOST), repeatedValue: 0) if (getnameinfo(&addr, socklen_t(addr.sa_len), &hostname, socklen_t(hostname.count),nil, socklen_t(0), NI_NUMERICHOST) == 0) { if let address = String.fromCString(hostname) { addresses.append(address) } } } } } freeifaddrs(ifaddr) } return addresses }
Reference:How to get Ip address in swift
相关文章推荐
- swift常用字符串处理
- swift常用字符串处理
- CollectionView实现瀑布流(swift)
- Swift语言教程中文文档
- Swift 学习 用 swift 调用 oc
- swift for、for-in循环
- Swift iOS项目最佳实践汇总
- iOS_Swift之UICollectionView详解
- Swift-04-Designated&&Convenience
- swift_多线程基础_最简单用法(GCD, NSOperationQueue, NSThread)
- swift-03-构造器(Designated&&Convenience)
- Swift 变量与常量
- Swift之UITableView的增删以及三种逆向传值方式
- Swift 编程语言入门教程
- Swift - 使用NSURL进行数据的提交和获取(POST与GET)
- 苹果Swift语言中文简明教程
- IOS反射,swift反射,基础 MODEL转字典,字典转MODEL,根据下面的自己进行拓展
- swift中对AFNetWorking的简单封装
- 【同行说技术】swift最全学习资料汇集(一)
- Swift UITableView