iOS程序化蜂窝数据控制
是否有一种方法可以通过编程方式访问应用程序中有时显示的“手机数据”选项 背景 我有一个通过互联网上传数据文件的应用程序。我为用户提供了在未连接WiFi时禁用此上传功能的选项 怎么 我目前正在做的是编写一个iOS程序化蜂窝数据控制,ios,swift,networking,settings,Ios,Swift,Networking,Settings,是否有一种方法可以通过编程方式访问应用程序中有时显示的“手机数据”选项 背景 我有一个通过互联网上传数据文件的应用程序。我为用户提供了在未连接WiFi时禁用此上传功能的选项 怎么 我目前正在做的是编写一个settings.bundle,允许用户在我的代码中选择一个名为user Cellular Data的选项。我正在使用()-这是一个围绕可访问性iOS api的快速包装器-基本上它可以告诉您是否有Wifi或蜂窝网络访问 我的代码 在上传之前,我在我的代码中检查NSUserDefaults值(由s
settings.bundle
,允许用户在我的代码中选择一个名为user Cellular Data的选项。我正在使用()-这是一个围绕可访问性iOS api的快速包装器-基本上它可以告诉您是否有Wifi或蜂窝网络访问
我的代码
在上传之前,我在我的代码中检查NSUserDefaults值(由settings.bundle
设置)
如果这是真的,并且我有Wifi或移动互联网,我允许上传继续进行。如果这不是真的,我有手机上网,我停止上传
这一切都很顺利,然后突然我在查看我的应用程序的设置,我注意到我有系统级别蜂窝数据选项以及我的自定义使用蜂窝数据选项。出现
问题:
显然,这可能会给用户带来一些困惑-我想知道是否有API访问此系统级Cellualr数据选项-或者以编程方式控制此设置的其他方式-我怀疑没有,但我希望有人能证明我错了。我不知道是否有访问全局设置的权限蜂窝数据设置,但如果您使用
NSURLSession
API下载数据,您可以使用allowscellaraccess=false
创建NSURLSession配置
,我不知道是否可以访问全局蜂窝数据设置,但如果您使用NSURLSession
API下载数据,您可以使用allowscellaraccess=false
创建NSURLSessionConfiguration
let uploadOverCellular = NSUserDefaults.standardUserDefaults()
.boolForKey("allow_upload_over_cellular")