如何在iOS上实现长时间后台任务

时间:2015-03-09 09:07:17

标签: ios iphone ipad swift

我已经搜索了一段时间,但我找不到有关使用什么SDK以及要遵循的步骤的明确指南。看来我应该首先在Info.plist中注册我的用法,并且我可以使用类似NSTimer的东西来实现它。这是对的吗?

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

谢谢!

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

1 个答案:

答案 0 :(得分:2)

您可以使用 M7协处理器(iPhone 5S,6,6 Plus),这样您就可以在用户从静止状态运行到使用CMMotionActivityManager行走时以编程方式获得通知。

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

  • 使用Info.plist背景音频技巧保持清醒,您可以查看this tutorial

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