Per il mio progetto, ho bisogno di ottenere l'indirizzo IP pubblico dell'IPhone, ci sono tanti esempi disponibili, che mostrano l'indirizzo IP pubblico usando URL esterni/di terze parti. Voglio solo sapere come estrarre l'indirizzo IP di IPhone senza l'aiuto di usare un altro URL.Come ottenere l'indirizzo IP pubblico dell'IPhone senza utilizzare un URL di terze parti
Nota: - ho usato questo, ma mostra solo l'indirizzo IP locale, ho bisogno di indirizzo IP pubblico
func getIPAddress() -> [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
}
Ho usato questo nel mio progetto rapida utilizzando un file di intestazione, genera IP locale
Hai provato SO? http://stackoverflow.com/questions/7072989/iphone-ipad-osx-how-to-get-my-ip-ad-ress-programmatically?lq=1 –
questo link può aiutarti - http://stackoverflow.com/ questions/30748480/swift-get-devices-ip-address – Vinayk
Ho trovato alcuni codici Objective-C, potresti darmi il più rapido? :) –