如何使NSTimer和一些操作继续在后台工作?

时间:2013-03-01 23:30:35

标签: ios objective-c xcode push-notification nstimer

我在4.3模拟器和3.2 xcode上编写ios app

应用程序每分钟使用计时器NSTimer检查某些网站上的新闻,如果有新闻,该应用程序将发出声音警告消息“网站上有新内容!”

但如果我关闭应用程序或它进入睡眠状态,计时器会在后台停止。所以,我读过很多文章 http://www.codeproject.com/Articles/124159/Hour-21-Building-Background-Aware-Applications

How keep NSTimer when application entering background?

他们没有帮助我。我的问题:

1)我应该使用哪些技术或技巧制作此类应用?一位好人告诉我,我只需要使用Push Notifications。

2)如果要使用推送通知,我是否必须从苹果公司获得100美元/年的开发者计划并保持我的Mac书始终打开以创建推送通知服务器?

谢谢你!

1 个答案:

答案 0 :(得分:1)

在后台运行只有少数经过批准的用途:音乐,导航,VOIP。如果您的应用程序没有执行其中任何一项操作,它只能在后台运行长达10分钟,然后它将被操作系统暂停。

推送通知需要服务器。您可以自己运行它,也可以使用urbanairship.com之类的服务。推送通知只是显示为设备上的警报。除非用户通过响应警报来启动,否则它不会唤醒您的应用。

请阅读: http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html

如果您还没有支付100美元,则无法在真实设备上运行您的应用。我认为模拟器不能正确模拟背景状态,因此调试后台任务将非常困难。