0

我已经编写了一个 Android 应用程序,现在正在移植到 iPhone。Android 版本使用广播接收器在设备重新启动时收到通知,并在那时与我的网络服务器进行后台同步。然后它使用警报管理器在 X 分钟内安排另一个通知(X 由用户在我的应用程序设置中设置),它只是进行另一个后台同步。

这在 iPhone 上是否可行,我应该查看哪些 API?我在 OSX Mountain Lion 上使用最新的 XCode 版本(我认为是 4.5)进行编程,主要针对 iPhone,但也想要在 iPad 上运行的东西。iPhone 4 (iOS 5.0) 及更高版本会很好,因为我的大多数客户都有更新的设备。

如果不是很明显,我对 XCode、Mac OS、iOS 和 Objective-C 还是很陌生(仍在尝试使用 Alt-TAB 切换窗口)。

4

1 回答 1

2

这在 iPhone 上是不可能的——它与 Apple 的多任务模型不兼容。如果它有助于理解动机,Apple 的基本立场是,从电池寿命的角度来看,允许应用程序不受限制的后台执行权限将是一个非常糟糕的主意,因为没有切实可行的方法来确保此类应用程序编写得很好。

如果您想让用户知道他们当前不在线的情况,您需要在启动时进行同步并使用推送通知。有一些特殊类别的应用程序可以在某些事件(如位置变化、接收 VoIP 呼叫或播放音频内容)时在严格限制的时间段内被唤醒,但该列表是严格且受限的。请参阅此文档,特别注意从“实现长时间运行的后台任务”开始的内容。

于 2012-09-21T21:47:01.040 回答