我正在寻找一种方法来限制我的 iOS 应用程序(或其中的一部分)仅限 wifi。我已经查看了可达性示例,但还没有真正提出解决方案。我可以让它在用户连接到 3g 时显示一条消息,但我不知道如何让它停止加载 View 。
我有一个 View ,当按下按钮时加载另一个 View 。如果设备连接到 3g,我希望关闭第二个 View 。我该怎么做呢?
最佳答案
我以前从未做过你想做的事情,但我想这只是弄清楚 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;
}
这是一段非常简单的代码。您在这里可以做的是监听可达性状态的变化,然后设置您的应用程序以做出适当的 react 。您不必在 AppDelegate 类中执行此操作。这完全取决于您想要完成什么。
关于ios - 将 iOS 应用程序限制为仅限 wifi?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6301927/