获取iPhone或iPad设备的IP地址使用Swift 3 [英] Get IPAddress of iPhone or iPad device Using Swift 3
本文介绍了获取iPhone或iPad设备的IP地址使用Swift 3的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在不使用任何使用Swift 3编程语言的第三方库的情况下获取设备IP地址。实际上我使用以下代码来获取IP地址。
How to get the device IP Address without using any third party libraries using Swift 3 programming language. Actually I have used following code in order to get the IP Address.
func getIPAddress() -> String? {
var address : String?
var ifaddr : UnsafeMutablePointer<ifaddrs> = nil
if getifaddrs(&ifaddr) == 0 {
var ptr = ifaddr
while ptr != nil {
defer { ptr = ptr.memory.ifa_next }
let interface = ptr.memory
let addrFamily = interface.ifa_addr.memory.sa_family
if addrFamily == UInt8(AF_INET) || addrFamily == UInt8(AF_INET6) {
if let name = String.fromCString(interface.ifa_name) where name == "en0" {
var hostname = [CChar](count: Int(NI_MAXHOST), repeatedValue: 0)
getnameinfo(interface.ifa_addr, socklen_t(interface.ifa_addr.memory.sa_len),
&hostname, socklen_t(hostname.count),
nil, socklen_t(0), NI_NUMERICHOST)
address = String.fromCString(hostname)
}
}
}
freeifaddrs(ifaddr)
}
return address
}
但是UnsafeMutablePointer语法不起作用。它通过语法错误。我是否需要导入任何框架试图帮助我。
But the UnsafeMutablePointer syntax is not working. It throughs syntax error. Do I need to import any framework try to help me.
推荐答案
添加 #include<你的桥接标题中有ifaddrs.h>
。
Add #include<ifaddrs.h>
in your bridging header.
这是获取IP地址所需的框架。
This is the framework needed to get IP address.
您还可以参考以下链接:
Also you can refer the following link:
这篇关于获取iPhone或iPad设备的IP地址使用Swift 3的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文