récupérer de l'IP

Bonjour tous le monde,


 


Merci de votre aide j'ai bien avancer et compris beaucoup de choses.


Mais aujourd'hui j'ai un blocage.


 


Je cherche a récupérer l'IP de l'utilisateur qui s'inscris dans l'application, mais n'arrive pas.


 


J'ai bien compris le code que j'ai trouver, mais quels son les étapes a suivre .


 


Voilà  le code SWIFT 3 :



func getIFAddresses() -> [String] {
var addresses = [String]()

// Get list of all interfaces on the local machine:
var ifaddr : UnsafeMutablePointer<ifaddrs>?
guard getifaddrs(&ifaddr) == 0 else { return [] }
guard let firstAddr = ifaddr else { return [] }

// For each interface ...
for ptr in sequence(first: firstAddr, next: { $0.pointee.ifa_next }) {
let flags = Int32(ptr.pointee.ifa_flags)
var addr = ptr.pointee.ifa_addr.pointee

// 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](repeating: 0, count: Int(NI_MAXHOST))
if (getnameinfo(&addr, socklen_t(addr.sa_len), &hostname, socklen_t(hostname.count),
nil, socklen_t(0), NI_NUMERICHOST) == 0) {
let address = String(cString: hostname)
addresses.append(address)
}
}
}
}

freeifaddrs(ifaddr)
return addresses
}

Ce que j'ai compris ifaddrs et getifaddrs


Il faut créez une en-tête de pointage et incluez #include <ifaddrs.h> dans celui-ci.


 


J'ai tous essayer et toujours des erreurs.


 


Pouvez-vous m'aider,


Merci beaucoup,


 


Réponses

  • LarmeLarme Membre
    décembre 2016 modifié #2

    Quelles erreurs tu as ? De compilation ou de retours non-espérés?


  • easydeasyd Membre
    décembre 2016 modifié #3

    Désolé voilà  mes erreurs :


     


    uv75.png


    Merci,


  • CéroceCéroce Membre, Modérateur
    D'où sors-tu ton extrait de code ? À mon avis, il faut juste importer une framework.
    (l'importer dans le projet et utiliser la commande "import" dans ton code).
  • CéroceCéroce Membre, Modérateur
    C'est très exactement la question posée sur Stack Overflow.
    Dans la réponse, il est dit qu'il faut inclure le fichier "ifaddrs.h" et pour cela créer un "bridging header", c'est à  dire un fichier qui sert à  exporter les symboles ObjC vers Swift.

    N'ayant pas d'expérience sur le sujet, je te laisse chercher sur le web, à  moins que d'autres sachent ici comment s'y prendre.
  • Bonjour tous le monde,


     


    J'ai résolut mon problème.


    je chercher toujours compliquer il fallait juste le faire au niveau du PHP.


     


    Merci a vous,


Connectez-vous ou Inscrivez-vous pour répondre.