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