IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Objective-C Discussion :

Récupérer l'IP de l'iphone, ipod touch ou autre


Sujet :

Objective-C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 120
    Par défaut Récupérer l'IP de l'iphone, ipod touch ou autre
    Bonjour

    J'ai une application qui dois récupérer l'ip de l'iphone ou l'ipod touch quelque soit sa version, et quelque soit le type de la connexion (wifi,3G...).
    j'utilise cette ip pour localiser l'iphone et retourner dans un tableview un résultat qui dépend de la localisation.

    Au début j'ai utilisé cette fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    - (NSString *)getIPAddress 
    {
        NSString *address = @"error";
        struct ifaddrs *interfaces = NULL;
        struct ifaddrs *temp_addr = NULL;
        int success = 0;
    
        // retrieve the current interfaces - returns 0 on success
        success = getifaddrs(&interfaces);
        if (success == 0)  
        {
            // Loop through linked list of interfaces
            temp_addr = interfaces;
            while(temp_addr != NULL)  
            {
                    if(temp_addr->ifa_addr->sa_family == AF_INET)
                    {
                            // Check if interface is en0 which is the wifi connection on the iPhone  
                            if([[NSString stringWithUTF8String:temp_addr->ifa_name] isEqualToString:@"en1"])  
                            {
                                    // Get NSString from C String
                                    address = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)temp_addr->ifa_addr)->sin_addr)];
                            }
                    }
                    temp_addr = temp_addr->ifa_next;
            }
        }
    
        // Free memory
        freeifaddrs(interfaces); 
        return address; 
    }
    mon application a été acceptée par l'Appstore avec ce code, mais la fonction retourne "error" avecune connexion 3G. donc un résultat vide.


    le problème que j'ai c'est que je ne trouve pas comment tester vu que je n'ai pas d'iphone, et je ne suis pas dans le périmètre de localisation.


    j'ai ensuite distribué l'application sur l'appstore en éliminant la ligne en rouge pour que la foncion retourne l'ip quelque soit le type de connexion.
    mais malheureusement c'était pas le cas.
    l'application a été rejeté par l'appstore, ils ont dit qu'elle crash sous
    iPhone 4 and iPod touch running iOS 4.2.1.avec connexion WiFi ou 3G network

    est ce que vous pouvez m'aider sur ce coup?

    Merci d'avance

  2. #2
    Membre émérite Avatar de Ceylo
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 216
    Par défaut
    Pas un habitué du dev iOS mais.. avec CFHost tu peux pas avoir l'info que tu cherches?

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 120
    Par défaut
    je vais me renseigner de çà et je vous mets au courant

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 963
    Par défaut
    Il n'y a aucune raison que l'interface soit "en1" dans tous les cas,
    essayez plutôt :

    http://www.iphonedevsdk.com/forum/ip...p-address.html

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 120
    Par défaut
    j'ai télécharge le code: http://www.appsamuck.com/day4.html
    mais il ne marche pas sur le simulateur.
    et je ne trouve pas comment le tester avant que je distribue l'application.

    et même si je crée un certificat et un provisionning profil du dev je ne peux le tester que sur ma machine, qui ne se trouve pas dans la localisation souhaitée.

    est ce qu'il y'a moyen d'envoyer l'application ou juste le .app avant sa distribution pour le tester sur un iphone d'une autre personne

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/11/2010, 11h22
  2. Réponses: 28
    Dernier message: 08/03/2010, 08h53
  3. Réponses: 0
    Dernier message: 06/08/2009, 12h40
  4. Réponses: 0
    Dernier message: 06/08/2009, 12h40
  5. [Partenaire] Développeur : projet d'application "iphone" "ipod touch"
    Par marioléonard dans le forum Autres
    Réponses: 0
    Dernier message: 10/02/2009, 18h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo