iOS程序化蜂窝数据控制

时间:2016-05-02 17:49:25

标签: ios swift networking settings

有没有办法以编程方式访问"蜂窝数据"有时在应用中显示的选项?

背景

我有一个通过互联网上传数据文件的应用程序。我已经为用户提供了在未连接到WiFi时禁用此上传功能的选项。

如何

我目前正在做的是写了一个settings.bundle,允许用户在我的代码中选择一个名为用户手机数据的选项我正在使用{{1}来自(https://github.com/ashleymills/Reachability.swift)的文件 - 这是一个围绕可达性iOS api的快速包装器 - 基本上它可以告诉你是否有Wifi或蜂窝网络访问。

我的代码

在我上传代码之前的代码中,我检查了一个NSUserDefaults值(由Reachability.swift设置)

settings.bundle

如果这是真的并且我有Wifi或Cellular互联网我允许上传继续。如果不是这样,我有蜂窝网络,我就停止上传。

所以这很好用,然后我突然看到我的应用程序的设置,我注意到我同时拥有系统级别蜂窝数据选项以及我的自定义使用移动数据选项。出现

enter image description here

问题

显然这个可能会给用户造成一些混淆 - 我想知道是否有API访问此系统级别 Cellualr数据选项 - 或者其他一些控制方式这个设置以编程方式 - 我怀疑没有,但我希望有人可以证明我错了。

1 个答案:

答案 0 :(得分:2)

我不知道是否可以访问全局蜂窝数据设置,但如果您使用NSURLSession API下载数据,则可以使用NSURLSessionConfiguration创建allowsCellularAccess = false