假设应用程序将每天关闭和打开,我实际上正在对应用程序进行一些日常检查。它适用于 3.1 设备。我的问题是应用程序可以在 iPhone 4.0 操作系统的后台运行多少天。
如果它存在很长时间,那么制定每天联系我的后端服务器的最佳方法是什么?
iOS4 中的背景比这更受限制。您可以安排“任务完成”,但只能运行 10 分钟。您可能会执行“位置”后台服务,但这会消耗相当多的力量,我不确定它是否会让您像您所说的那样联系您的服务器。
我想对你的问题更直接的回答是,这取决于。当您在后台时,您需要随时准备关闭您的应用程序。当设备内存不足时,它将关闭任何一段时间未运行的应用程序。
为什么你说它适用于 3.1 设备?如果您希望应用程序在从跳板打开时更新,就像在 3.1 中一样,那么您想在应用程序委托中使用 applicationWillEnterForeground: 来调用正确的代码。
如果您必须在后台定期更新,那么您可以使用 setKeepAliveTimeout:handler: 和 beginBackgroundTaskWithExpirationHandler,但我不知道应用商店评论者会如何看待使用它的非 VOIP 应用。