我需要开发一个监控网络流量的企业应用。基本上,它检测用户是否处于Wi-Fi或蜂窝数据中,并保存在一段时间内发送和接收的字节数。 我在AppStore看到了一个完成这项工作的应用程序。 使用Apple提供的Reachability Sample检测wi-fi或蜂窝数据非常简单。 我的问题是在应用程序处于后台时继续监视发送和接收的字节数。
由于它是企业应用程序,我使用UIBackgroundModes“voip”来避免应用程序被终止。 我还安装了setKeepAliveTimeout方法,我能够每10分钟看一次日志,但是在方法运行后只有10秒钟。我的意思是,setKeepAliveTimeout让我的应用程序每1分钟运行一次计时器10秒钟。
我在考虑是否背景中的任务是我问题的最佳解决方案。
我会感激任何评论。
编辑:好的伙计们。这是完美的方式。首先你必须读到这个: http://www.christian-fries.de/blog/files/tag-ios.html
我尝试了这个并且它工作得非常好。 我们需要做的就是创建一个与主要线程分离的第二个线程。这样我们就可以永久地运行连续线程。您还必须在Apple的网站上查看GCD文档。
对于企业应该考虑的第二件事应用是将其设置为voip应用程序,这样iOS即使在重新启动后也会使您的应用程序运行。这是iOS必须保持voip应用程序运行的特殊行为。
是的,伙计们。 我希望它可以帮到你。答案 0 :(得分:2)
我们无权访问这些数据。没有办法衡量流量。
您看到的应用程序进行了估算(例如,1mb / min),并在applicationWillEnterForeground之后进行了估算。然后你计算时间x估计的流量,然后我们去。
不幸的是没有办法衡量, 所以我在设置中进行了流量重置,然后我播放了1分钟的音乐。经过几次重复,我得到了我的结果。问题是,这适用于静态流量处理,如音频或视频。
希望能有所帮助 endo编辑:看下面的答案!