【问题标题】:iPhone App running in background and sending data to the serveriPhone App 在后台运行并向服务器发送数据
【发布时间】:2013-10-18 07:15:13
【问题描述】:

我打算开发一个应用程序从 iPhone 读取数据使用情况,例如每个应用程序的互联网使用情况、3G、WiFi 等。我的问题是:

V1。是否可以让应用程序在后台运行(即使被杀死)并每 15 分钟收集一次数据并发送到服务器?

V2。是否可以让应用程序在后台运行(即使被杀死)并收集数据并在重新打开后将数据发送到服务器?

有些应用具有类似的功能:

http://www.mobidia.com/products/takecontrol/

http://xvision.me/dataman

感谢您的帮助。

【问题讨论】:

    标签: iphone ios


    【解决方案1】:

    当应用程序处于suspended 模式时,我认为您也不能这样做。在该状态下没有正在执行的应用代码。

    当您的应用位于 background 时,尽管您只能执行有限数量的任务。

    • 在后台向用户播放有声内容的应用,例如音乐播放器应用
    • 在后台录制音频内容的应用程序。
    • 让用户随时了解其位置的应用,例如导航应用
    • 支持互联网协议语音 (VoIP) 的应用
    • 需要定期下载和处理新内容的应用
    • 从外部附件接收定期更新的应用

    更多信息请看here

    【讨论】:

    【解决方案2】:

    首先,如果用户强制退出,您的应用程序将无法保持打开状态,我相信这就是您所说的被杀死的意思。

    就后台执行而言,请查看这个内容丰富的答案:iPhone - Backgrounding to poll for events

    在那个答案中,它说您不能进行递归 beginBackgroundTask 调用,但我已经看到了一种方法,您可以在该方法中进行调用,然后在任务终止之前开始位置更新。然后立即关闭位置更新并开始另一个后台任务。 Here is a link to that method

    【讨论】:

    • 使用获取和远程通知后台模式将有利于同步数据。远程通知甚至可以用于定期收集一些数据,因为您可以静默发送它们而不会打扰您的用户。我还没有使用 NSURLSession,所以我不能真正说出它对你的场景的有效性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-03
    • 2011-01-05
    相关资源
    最近更新 更多