我似乎无法找到一个明确的答案 - 我正在指出一个我想在后台生活的iPhone应用程序,并在一天中的某些时段通知用户。因此,用户将在早上启动应用程序,然后继续使用他们的手机,然后每隔几个小时应用程序就会弹出一个通知对话框。
我的应用程序是否会被操作系统自动关闭?或者它会永远存在,在需要时通知用户?
感谢, 埃里克
答案 0 :(得分:13)
基本上在iOS 4的后台运行有三种:
在后台运行以“完成”内容(例如上传帖子或图片,完成处理等)。你要求操作系统在用户切换到另一个应用程序后给你额外的时间,它会告诉你你有多少时间。你无法无限期地在后台运行。
在后台运行以执行特定操作:VoIP,跟踪位置(例如,用于GPS导航)或播放音频。你只能做你在后台告诉操作系统的东西。
本地通知(UILocalNotification)。根据您的描述,这是您正在寻找的。您实际上没有运行,只是安排通知,当需要通知用户时,他们会收到通知并可以转到您的应用。如果您需要动态通知用户(即您不知道他们需要在什么时间通知他们,而不是位置或VoIP触发),您可能需要查看推送通知。
Apple在这里有一个很好的概述: http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html