ios - 如何让NSTimer和一些操作在后台继续运行?

标签 ios objective-c xcode push-notification nstimer

我正在 4.3 模拟器和 3.2 xcode 上编写 ios 应用程序

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

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

How keep NSTimer when application entering background?

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

1) 我应该使用哪些技术或技巧来制作这样的应用程序?一位好人告诉我,我只需要使用推送通知。

2) 如果要使用推送通知,我是否必须从苹果获得 100 美元/年的开发者计划,并保持我的 Mac 书始终处于开启状态才能为推送通知创建服务器?

谢谢!

最佳答案

只有少数批准在后台运行的用途:音乐、导航、VOIP。如果您的应用没有执行其中一项操作,它只能在后台运行最多 10 分钟,然后操作系统将暂停它。

推送通知需要服务器。您可以自己运行它,也可以使用 Urbanairship.com 等服务。推送通知就像设备上的警报一样显示。它不会唤醒您的应用,除非用户通过响应警报来唤醒您的应用。

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

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

关于ios - 如何让NSTimer和一些操作在后台继续运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15168628/

相关文章:

iOS 7 容器 View Controller 显示的详细 View Controller 比应有的要小

ios - 从 objective-c 中的 sqlite 数据库中检索表名

ios - objective-c/ios 跟踪屏幕使用情况

ios - Cordova 应用程序 - 在 XCode 上构建失败

objective-c - 使用 Swift 访问类单例时的 semaphore_wait_trap

ios - 错误 : failed to import bridging header when trying to Archive

ios - 没有序列化的 AFNetworking

iOS 检索和排序具有关系的核心数据实体

objective-c - 是否可以在Windows计算机上编译Objective-C,但对于Mac

ios - 如何为自定义 UI 元素设置属性?