ios - 将 iOS 应用程序限制为仅限 wifi?

标签 ios sdk wifi

我正在寻找一种方法来限制我的 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/

相关文章:

android - 唤醒锁似乎不起作用

ios - 从协议(protocol)扩展访问 navigationItem

Android 4.1.2 或谷歌 API (4.1.2)

带有外部 SDK 的 C++ Diamond of Doom

java - 添加到 eclipse 项目的外部 jar

docker - 如何使 docker 容器 IP 地址可在 WLAN 中访问?

android - 无线 (Wifi) 聊天应用程序

ios - 用户搜索时不调用 AVPlayerViewController 委托(delegate)函数

ios - ScrollView 中的 SwiftUI 动画/过渡表现奇怪

iphone - 条形样式 UISegmentedControl 的颜色或色调是什么