ios - 禁用 ios 应用程序的蜂窝数据

标签 ios objective-c ios7 plist nsurlconnection

是否有可能实现诸如为特定应用程序禁用蜂窝数据之类的功能(对于 ios 版本 < 7,我知道 iOS 7 蜂窝数据中有这样的功能)。

一种解决方案可能是在您的应用首选项中设置 bool 开关以启用/禁用 3G,并检查连接类型的可达性类,然后发出 HTTP 请求。我正在寻找类似 plist 中的配置/权限的东西,或者会阻止蜂窝数据或任何其他更简单的替代方法的东西。有什么想法吗??

最佳答案

使用 Reachability类,您可以选择仅 wifi 连接,这样您就可以禁用蜂窝数据:

使用此函数检查wifi是否开启

- (BOOL)isWifiOn {
    Reachability* wifiReach = [Reachability reachabilityForLocalWiFi];

    NetworkStatus netStatus = [wifiReach currentReachabilityStatus];
    return (netStatus==ReachableViaWiFi);
}

类似的代码可用于检查 reachabilityForInternetConnection 但您必须检查

(netStatus==ReachableViaWiFi)

如果你关心它是通过 wifi 和

(netStatus==ReachableViaWWAN)

如果你关心它是不是在 WWAN 上

关于ios - 禁用 ios 应用程序的蜂窝数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19675654/

相关文章:

ios7 - SKLabelNode错误,仅iOS7崩溃

ios - UISearchbar 在 UIScrollView 中消失

objective-c - Application Delegate 是否是加载登录 View 的正确位置?

javascript - Libsodium JS KDF 函数产生不同的输出

ios - 如何使用 Xcode 5 构建 iOS 6?

objective-c - dispatch_semaphore_t 重用-我在这里缺少什么?

iphone - 单击按钮后如何从 View Controller 导航到另一个 View Controller?

objective-c - UIActivityIndi​​cator没有立即显示

ios - swift 3 将字符串颜色转换为cgcolor

ios - 如何更改 iOS7 中 UISegmentedControl 边框的颜色?