任何应用程序的数据使用

我想读取每个应用程序使用3G的数据。 这是可能的iOS 5.x? 而在iOS 4.x? 我的目标是例如:

  • 从您的数据计划消耗3 MB的地图
  • 从您的数据计划消耗420 kB的邮件

等等,这可能吗?

编辑:我刚刚find应用程序: Data Man Pro

在这里输入图像说明

编辑2:我开始赏金。 额外的点去清楚的答案。 我知道这是可能的(来自Data Man Pro的屏幕),我确信解决scheme是有限的。 但是,解决scheme是什么以及如何实现这一点。

这些只是暗示不是一个解决scheme。 我想了很多次,但从来没有真正开始实施整个事情。

  1. 首先,你可以计算查询networking接口传输的字节,看看这个SO代码的答案和iOS上的networking接口的一个很好的解释;

  2. 使用sysctl或类似的系统function来检测哪些应用程序当前正在运行(和运行我的意思是进程状态设置为运行,就像在OSX上的pstop命令一样)从来没有尝试我只是想这可能在iOS上,希望作为非特权用户运行应用程序没有问题),因此您可以推断出哪些应用程序正在运行并保存这些应用程序的stream量统计信息。 显然,考虑到应用程序在后台运行的可能性,很难确定哪个应用程序正在传输数据。
    也可能检索有关networking活动的每个进程/应用程序的信息,像上网在OSX Lion上,不幸的是, 上网使用私有的框架NetworkStatistics.framework,所以你不能挖掘出它的实现;

  3. 考虑到时间;

我的2美分

不,iOS中的所有应用程序都是沙盒的,这意味着您无法访问应用程序之外的任何内容。 我不相信这是可能的。 我也不认为数据stream量是保存在设备上的这个级别,因此苹果可能会在network页面或Settings.appusage页面中实现它。

除此之外,并不是每个人都有一个“数据计划”。 例如在瑞典,数据stream量是免费的,无论大小还是速度都是无限的。