使用锁屏状态下运行IOS应用程序

4
我正在开发一款运动应用,该应用使用GPS和OpenEars文本转语音技术。该应用会通过耳机向用户传递速度和其他GPS信息,使用户(如滑雪者、骑行者等)无需看屏幕即可获得GPS信息。为了节省电量,我希望该应用在后台运行且关闭屏幕。在iOS上是否可能实现这一点?我尝试设置GPS和音频的“必要后台模式”,但当屏幕关闭时我的应用停止工作。
谢谢。

你的应用程序应该能够在屏幕锁定/关闭时接收GPS更新。你不需要诉诸于这里某些答案中提到的任何诡计(比如播放静音音频文件)。也许你没有打算关闭GPS。 - Fraggle
3个回答

1
一种解决方法是播放一个静音音频文件,但如果没有音频,这可能会导致您的应用在应用商店被拒绝... 这里有一个问题讨论了播放静音音频文件以保持后台运行... 如果您的应用程序依赖音频作为其主要功能之一,则可能会通过应用商店的审核。

谢谢你的帮助。我想我会放弃尝试在屏幕锁定状态下运行。这似乎不是一个很干净的解决方案。 - gotok

1

您可以订阅GPS信息更改通知,当需要更新时,您的应用程序将运行。请查看this

请注意以下句子:

“如果您让此服务保持运行状态,并且您的应用程序随后被挂起或终止,该服务会在新位置数据到达时自动唤醒您的应用程序。在唤醒时,您的应用程序被放置在后台并被赋予一小段时间来处理位置数据。因为您的应用程序在后台运行,所以它应该尽量减少工作量,并避免任何可能导致其在分配的时间到期之前无法返回的任务(例如查询网络)。如果没有这样做,您的应用程序可能会被终止。”


谢谢您的反馈,但我的应用需要完全运行。定期获取 GPS 更新并仅运行短时间以进行处理对我的应用程序没有意义。我不认为 IOS 允许我想要的功能。 - gotok
你说得对,苹果不允许这样做。你想让我发布越狱的替代方案吗? - fbernardo
谢谢,但我会遵守苹果的规定,放弃在后台运行。这很令人失望,因为我的应用程序的原始(Android)版本可以在后台运行并锁定屏幕,而无需任何不光彩的技巧。 - gotok

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接