我正在尝试使用 Swift 代码进行简单的 DNS 查找。到目前为止,我有
if host != "\0" {
let hostRef = CFHostCreateWithName(kCFAllocatorDefault, host.bridgeToObjectiveC()).takeRetainedValue()
var resolved = CFHostStartInfoResolution(hostRef, CFHostInfoType.Addresses, nil)
let addresses = CFHostGetAddressing(hostRef, &resolved).takeRetainedValue() as NSArray
for address: AnyObject in addresses {
println(address) // address is of type NSData.
}
}
按照Convert NSData to sockaddr struct in swift。(host
是一个NSString
。)
但是,我的调试器日志在执行语句并打印数据之后,在第一行<10020000 4a7de064 00000000 00000000>
以 a 退出之前打印。我想要得到的只是一个带有 IP 地址的字符串,或者如果主机不存在,则为一个空字符串。EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
if
address