【问题标题】:Is there a cellular data usage API in iOS 7?iOS 7 中是否有蜂窝数据使用 API?
【发布时间】:2013-10-03 23:41:15
【问题描述】:

iOS 7 引入了一种新的用户配置来禁用特定应用的蜂窝数据。可以在“设置”->“蜂窝”中配置,然后向下滚动。

您会为每个已安装的应用找到一个开关,并且可以查看它消耗了多少蜂窝数据。

如何以编程方式测试是否为我的应用打开了开关?有那个API吗?我可以确定我的应用通过蜂窝网络使用了多少数据吗?

我并不是要获取所有应用的值。我只对我的应用使用情况感兴趣。

【问题讨论】:

  • 我在 Apple 开发者论坛上发现了一个帖子,其中提到了这一点。但似乎没有API。见这里devforums.apple.com/message/855240
  • 我正在开发一个 iPad 应用程序,但我的 iPad 中的所有应用程序都没有显示在“蜂窝数据使用”下,我的客户希望在该选项下显示我们的应用程序。我怎么能证明这一点?我正在使用带有有效 SIM 卡的 iPad3。
  • @palchuri 您确定您的应用通过蜂窝网络产生了一些流量吗?

标签: ios ios7


【解决方案1】:

没有 API 可以检测您的下载消耗或您的应用是否处于活动状态。

如果您的应用尝试连接到网站,但蜂窝网络已关闭,则 iOS 可能会要求用户重新打开蜂窝网络。我不确定它是如何工作的,但它可能类似于 iOS 6“无网络连接”警报,如果没有连接但应用程序尝试访问互联网,则会弹出该警报。

您可以检查当前互联网连接是通过 WiFi 还是蜂窝网络,但如果蜂窝网络被禁用,您只会被告知没有网络连接。

更多详情:iOS Detect 3G or WiFi

【讨论】:

    【解决方案2】:

    您无法检查蜂窝数据开关是否打开。

    • 最接近的是,您可以使用 SCNetworkReachability kSCNetworkReachabilityFlagsIsWWAN 标志检查是否可以通过蜂窝连接访问特定主机。
    • 此外,您可以使用 NSURLRequest allowsCellularAccess 属性启用/禁用特定连接的蜂窝数据。

    参考:https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/Platform-SpecificNetworkingTechnologies/Platform-SpecificNetworkingTechnologies.html

    此答案建议如何在系统范围内衡量数据使用情况:iPhone Data Usage Tracking/Monitoring

    【讨论】:

    猜你喜欢
    • 2014-04-22
    • 1970-01-01
    • 2011-10-29
    • 1970-01-01
    • 2016-07-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-06
    • 1970-01-01
    相关资源
    最近更新 更多