2010-11-04 5 views
1

J'ai besoin de savoir si l'appareil est connecté via WIFI ou non. Cela devrait être assez simple, mais je me suis cassé le cou sur l'exemple de l'approvisionnement en pomme code HERE. Je n'arrive pas à le faire fonctionner dans ma propre application. Est-ce que ce n'est pas la seule chose que je dois faire?L'appareil est-il connecté à WIFI ou non?

EN H:

#import <UIKit/UIKit.h>  
#import <Foundation/Foundation.h> 
#import <SystemConfiguration/SystemConfiguration.h> 

    @class Reachability; 

    @interface FirstViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource> { 

     Reachability* wifiReach; 
    } 

EN M: J'essaie juste d'appeler le code suivant dans viewDidLoad:

wifiReach = [[Reachability reachabilityForLocalWiFi] retain]; 

Mais compilant les résultats dans:

MISE EN GARDE: non « + Méthode reachabilityForLocalWiFi 'trouvée

ERREUR: "_OBJC_CLASS _ $ _ Reachab ility ", référencé par: objc-class-ref-to-Reachability dans FirstViewController.o - Symbole non trouvé

Voyant cela, je vais probablement faire quelque chose de vraiment faux ici. Pensé que ce serait une tâche simple. Putain mes bonnes idées.

+1

Dans votre fichier .m, importez-vous Reachability.h? – GendoIkari

Répondre

4
#import "Reachability.h" 

et

- (BOOL)networkCheck{ 
    Reachability *curReach = [[Reachability reachabilityForInternetConnection] retain]; 
    NetworkStatus netStatus = [curReach currentReachabilityStatus]; 
    [curReach release]; 
    switch (netStatus) 
    { 
     case NotReachable: 
     { 
      NSLog(@"NETWORKCHECK: Not Connected"); 
      return false; 
      break; 
     } 
     case ReachableViaWWAN: 
     { 
      NSLog(@"NETWORKCHECK: Connected Via WWAN"); 
      return false; 
      break; 
     } 
     case ReachableViaWiFi: 
     { 
      NSLog(@"NETWORKCHECK: Connected Via WiFi"); 
      return true; 
      break; 
     } 
    } 
    return false; 
} 

alors [self networkCheck] retourne vrai si connecté au wifi. J'utilise aussi le code d'accessibilité, et cela fonctionne parfaitement dans toutes mes applications.

+0

Ups. Tu as tout à fait raison. J'ai oublié d'importer l'en-tête, donc Xcode n'a pas pu comprendre les choses. Maintenant ça marche. BTW, il n'y a pas de fuite dans votre code. Où curReach est-il publié? –

+0

oups ...: p * semble embarrassée * –

+0

pour être honnête, je ne sais pas pourquoi c'est même retenu en premier lieu. Je suis sûr qu'il y avait une bonne raison à l'époque. :/ –

2

Avez-vous:

#import "Reachability.h" 

dans votre fichier .m?

Questions connexes