我正在尝试开发一个在后台运行的应用程序,它将使用他们 iPhone 的 GPS(和加速度计)记录汽车司机的行程。我已经使用 iPhone 传感器实现了一个行程检测系统,它可以很好地检测行程的开始和结束,而无需驾驶员在我的应用程序上手动开始和停止行程。
我正在努力克服的问题有两个:
要克服的第一个问题是让应用程序在后台保持活动状态,因为似乎只要其他前台应用程序需要计算能力/内存,iOS 就会杀死后台应用程序。并且一旦应用程序被终止,我就无法“恢复”应用程序,以继续记录当前行程,或者行程检测系统继续运行。
第二个问题是,即使我以某种方式让应用程序在后台保持活动状态,但如果用户重新启动他的 iPhone,那么该应用程序肯定会被杀死,并且我的应用程序中的后台服务是“恢复”的唯一方法" 是用户手动重新启动我的应用程序的时间。
有没有办法克服这些问题?
注意:我曾考虑过使用 iBeacon,但即使这样也只会触发一个“恢复”应用程序的事件,但只允许 30 秒(或使用某些设置为 120 秒)进行任何处理,这不会涵盖整个GPS 记录的行程时间。除非我知道有使用 iBeacon 的解决方法。
编辑:所需的 GPS 频率是每秒 1 次。对于加速度计,在每个方向(X、Y 和 Z)上每秒约 6 次。