2010-11-04 136 views
1

我需要知道设备是否通过WIFI连接。这应该是非常简单的,但我打破了我的脖子上的示例代码苹果供应HERE。我似乎无法让它在我自己的应用程序中工作。这不是我唯一需要做的事吗?设备是否连接到WIFI?

在H:

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

    @class Reachability; 

    @interface FirstViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource> { 

     Reachability* wifiReach; 
    } 

并购: 我只是试图调用viewDidLoad中下面的代码:

wifiReach = [[Reachability reachabilityForLocalWiFi] retain]; 

但是编译结果:

警告:没有“+ reachabilityForLocalWiFi'找到的方法

错误:“_OBJC_CLASS _ $ _ Reachab ility“,引用自:objc-class-ref-to-Reachability在FirstViewController.o中 - 找不到符号

看到这里,我可能在这里做了一些非常错误的事情。认为这将是一个简单的任务。该死的我的好主意。

+1

在你的.m文件中,你是否导入Reachability.h? – GendoIkari 2010-11-04 19:10:52

回答

4
#import "Reachability.h" 

- (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; 
} 

然后如果连接到WiFi [self networkCheck]将返回true。我也使用可达性代码,并且这在我的所有应用程序中都能很好地工作。

+0

Ups。你是绝对正确的。我忘了导入标题,因此导致Xcode无法解决问题。现在它可以工作。顺便说一句,你的代码没有泄漏。 curReach在哪里发布? – 2010-11-04 20:05:46

+0

oops ...:p *看起来很尴尬* – 2010-11-04 20:09:29

+0

说实话我不确定为什么它甚至保留在第一位。我确信当时有一个很好的理由。 :/ – 2010-11-04 20:10:33

2

你有:

#import "Reachability.h" 
在.m文件

相关问题