创建在启动时和每X分钟运行的iPhone应用程序

时间:2012-09-21 21:43:46

标签: iphone objective-c ios

我已经编写了一个Android应用程序,现在正在移植到iPhone。 Android版本使用广播接收器在设备重新启动时收到通知,并在那时与我的Web服务器进行后台同步。然后它使用警报管理器在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切换窗口)。

1 个答案:

答案 0 :(得分:2)

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

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