0
我正在尋找一種方法來限制我的iOS應用程序(或甚至它的一部分)只有WiFi。我查看了可達性示例,並沒有真正想出解決方案。我可以在用戶連接到3G時顯示消息,但我不知道如何讓它停止加載視圖。限制iOS應用程序只有WiFi?
我有一個視圖,當按下按鈕時加載另一個視圖。如果設備連接到3G,我希望關閉第二個視圖。我怎麼能這樣做呢?
我正在尋找一種方法來限制我的iOS應用程序(或甚至它的一部分)只有WiFi。我查看了可達性示例,並沒有真正想出解決方案。我可以在用戶連接到3G時顯示消息,但我不知道如何讓它停止加載視圖。限制iOS應用程序只有WiFi?
我有一個視圖,當按下按鈕時加載另一個視圖。如果設備連接到3G,我希望關閉第二個視圖。我怎麼能這樣做呢?
我從來沒有做過你以前想做的事情,但我想這只是搞清楚Reachability API的問題。
我會在你的AppDelegate類開始了一些代碼:
// ivars
Reachability *wifiReach;
Reachability *hostReach;
- (void) reachabilityChanged: (NSNotification *)note {
Reachability *curReach = (Reachability *)[note object];
if ([curReach currentReachabilityStatus] == NotReachable) {
// do something
}
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(reachabilityChanged:) name: kReachabilityChangedNotification object: nil];
hostReach = [[Reachability reachabilityWithHostName: @"www.apple.com"] retain];
[hostReach startNotifier];
wifiReach = [[Reachability reachabilityForLocalWiFi] retain];
[wifiReach startNotifier];
// controller setup
viewController = [[CFSplashViewController alloc] init];
[window addSubview:viewController.view];
[window makeKeyAndVisible];
return YES;
}
這是一個非常簡單的代碼。你可以在這裏做的是聽取可達性狀態的變化,然後設置你的應用程序做出適當的反應。您不必在AppDelegate類中執行此操作。這完全取決於你想完成什麼。
感謝您的迴應!我試圖調整代碼,使其在我的項目中工作,但我遇到了一些麻煩。它不理解「CFSplashViewController」,因爲使用「window」未聲明。你能爲我指出正確的方向嗎? – user636127 2011-06-10 05:13:51