如何快速获取IP地址

我如何获得本地IpAddress?


我尝试使用此Obj C示例:如何以编程方式获取iphone的IP地址


当我使用该功能时,getifaddrs()我将无法再继续使用。我不能使用该功能。


是否有其他方法可以执行此操作,或者我是否以错误的方式进行操作?


慕妹3146593
浏览 598回答 3
3回答

红糖糍粑

 func getIfConfigOutput() -> [String:String] {    let cmd = "for i in $(ifconfig -lu); do if ifconfig $i | grep -q \"status: active\" ; then echo $i; fi; done"    let interfaceString = shell(cmd)    let interfaceArray = interfaceString.components(separatedBy: "\n")    var finalDictionary:[String:String] = [String:String]()    for (i,_) in interfaceArray.enumerated() {        if (interfaceArray[i].hasPrefix("en")){            let sp = shell("ifconfig \(interfaceArray[i]) | grep \"inet \" | grep -v 127.0.0.1 | cut -d\\  -f2")          finalDictionary[interfaceArray[i]] = sp.replacingOccurrences(of: "\n", with: "")        }    }  print(finalDictionary)    return finalDictionary}func shell(_ args: String) -> String {    var outstr = ""    let task = Process()    task.launchPath = "/bin/sh"    task.arguments = ["-c", args]    let pipe = Pipe()    task.standardOutput = pipe    task.launch()    let data = pipe.fileHandleForReading.readDataToEndOfFile()    if let output = NSString(data: data, encoding: String.Encoding.utf8.rawValue) {        outstr = output as String    }    task.waitUntilExit()    return outstr}这将为您提供帮助。代码返回带有接口和IP地址的字典。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

iOS