【问题标题】:How to implement long time background task on iOS如何在iOS上实现长时间后台任务
【发布时间】:2015-03-09 09:07:16
【问题描述】:

我已经对此进行了一段时间的搜索,但我找不到明确的指南,其中包含要使用什么 SDK 以及要遵循哪些步骤。看来我应该先在 Info.plist 中注册我的用法,我可以使用 NSTimer 之类的东西来实现它。这是正确的吗?

一些材料提到只有特定类型的应用程序可以长时间启用后台服务。我的应用程序不属于这些类型,但我认为如果我不打算将其提交到 AppStore,这不是问题吗?在 info.plist 中,我可以将使用情况注册为任何类型吗?

谢谢!

如有需要,请提供更多信息: 我正在开发一个医疗保健应用程序。现在它使用预先存储的传感器数据来模拟医疗传感器,因此即使程序在后台,它也需要持续(至少每秒)读取数据(以便在传感器识别到异常情况时做出响应)。它只是一个原型应用程序,因此消耗资源不是问题。

【问题讨论】:

  • 您的应用如何连接到传感器?通过蓝牙或 IP (WiFi)?
  • 现在只用于原型制作,所以不连接传感器。我使用预先存储的 CSV 文件模拟传感器。
  • 可能播放背景音频(您可以简单地播放静音)是保持应用运行的最佳方式,只要您不需要应用商店的批准

标签: ios iphone ipad swift


【解决方案1】:

您可以利用 M7 协处理器(iPhone 5S、6、6 Plus),当用户使用 CMMotionActivityManager 从静止状态变为跑步状态时,您可以通过程序获得通知。

使用 M7 之前的设备,您可以:

  • 使用 Info.plist 背景音频技巧保持清醒,您可以查看 this tutorial 了解相关信息。

  • 在应用程序被操作系统发送到挂起状态之前,使用 NSTimer 进行定期位置更新,请查看this answer

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-26
    • 2018-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多