亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何快速獲取IP地址

如何快速獲取IP地址

iOS
慕妹3146593 2019-10-18 13:52:19
我如何獲得本地IpAddress?我嘗試使用此Obj C示例:如何以編程方式獲取iphone的IP地址當我使用該功能時,getifaddrs()我將無法再繼續使用。我不能使用該功能。是否有其他方法可以執行此操作,或者我是否以錯誤的方式進行操作?
查看完整描述

3 回答

?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

 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地址的字典。


查看完整回答
反對 回復 2019-10-18
  • 3 回答
  • 0 關注
  • 666 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號