iOS程序化蜂窝数据控制
有没有办法以编程方式访问有时在应用程序中显示的“蜂窝数据”选项?
背景
我有一个应用程序通过互联网上传数据文件。 我已经给用户在没有连接到WiFi时禁用这种上传function的选项。
怎么样
我现在正在做的是我写了一个settings.bundle
,允许用户select一个选项,称为用户蜂窝数据在我的代码我使用Reachability.swift
文件( https://github.com/ashleymills/Reachability。 swift ) – 这是一个快速包装的可达性iOS API – 基本上它可以告诉你,如果有Wifi或蜂窝networking访问。
我的代码
在我的代码做上传之前,我检查一个NSUserDefaults值(由settings.bundle
)
let uploadOverCellular = NSUserDefaults.standardUserDefaults() .boolForKey("allow_upload_over_cellular")
如果这是真的,我有无线或蜂窝互联网我允许上传继续。 如果这不是真的,我有蜂窝互联网,我停止上传。
所以这是很好的工作,然后突然我正在寻找我的应用程序的设置,我注意到我有系统级蜂窝数据选项以及我的自定义使用蜂窝数据选项。 出现
题
显然,这可能会导致用户混淆 – 我想知道是否有API访问此系统级别Cellualr数据选项 – 或以某种其他方式来以编程方式控制此设置 – 我怀疑有没有,但我希望有人可以certificate我错了。
我不知道是否有权访问全局蜂窝数据设置,但是如果使用NSURLSession
API来下载数据,则可以使用allowsCellularAccess = false
创build一个NSURLSessionConfiguration
。