我想了解每个应用使用3G的数据量。在iOS 5.x中这是可能的吗?在iOS 4.x中?我的目标是例如:
等,这可能吗?
编辑: 我刚发现应用程序这样做:Data Man Pro
编辑2: 我开始赏金了。额外的要点是明确的答案。我知道它是可能的(来自Data Man Pro的屏幕),我确信解决方案是有限的。但是解决方案是什么以及如何实现它。
答案 0 :(得分:8)
这些只是提示而不是解决方案。我多次考虑过这个问题,但从未真正开始实施这一切。
首先,您可以计算查询网络接口的传输字节,查看this SO answer代码以及iOS上网络接口的一个很好的解释;
使用 sysctl 或类似的系统函数来检测当前正在运行的应用程序(以及正在运行我的意思是将进程状态设置为RUNNING,如<在OSX上执行em> ps 或 top 命令。从未尝试过我只是假设在iOS上可以实现这一点,希望应用程序作为非特权用户运行没有问题)所以你可以推断出应用正在运行并保存这些应用的流量统计信息。显然,考虑到在后台运行应用程序的可能性,很难确定哪个应用程序正在传输数据。
也可以在OSX Lion上检索有关每个进程/应用程序的网络活动的信息,例如 nettop ,遗憾的是 nettop 使用私有框架NetworkStatistics.framework你无法挖掘它的实现;
我的2美分
答案 1 :(得分:1)
不,iOS中的所有应用程序都是沙盒,这意味着您无法访问应用程序之外的任何内容。我不相信这是可能的。我也不认为数据流量是在设备的这个级别保存的,因此苹果会在network
页面或usage
中的Settings.app
页面中实现它。
除此之外,并非所有人都有“数据计划”。例如。在瑞典,数据流量是免费的,不受大小或速度的限制。