即使应用程序处于后台,有没有办法让NSthread运行?

时间:2013-05-09 21:43:01

标签: cocoa-touch uilocalnotification nsthread

我有一个NSThread,用于检查互联网上的新数据。是否可以运行此线程,即使用户在后台运行应用程序以检查新数据是否到达然后显示本地通知?

任何帮助表示赞赏。谢谢!

3 个答案:

答案 0 :(得分:1)

您的代码可以在某些非常明确的条件下在后台运行; VOIP,GPS等...

除此之外,您的代码不应该运行。

同样,使用后台线程轮询新数据会浪费电池寿命。

使用推送通知。这正是它的设计通知。

答案 1 :(得分:1)

您应该阅读Apple文档的这一部分: http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html

基本上你可以:

  • 使用 beginBackgroundTaskWithExpirationHandler
  • 获得额外的时间(距离我看到的10分钟)完成任务
  • 在后台运行某些特定类型的任务(播放音频,跟踪位置等)
  • 使用ULNotificationClass安排本地通知,但这些需要用户操作才能“启动”您的应用备份,他们不会直接调用您的应用。

答案 2 :(得分:0)

您的广告将在应用进入后台后的有限时间内投放。我认为你无能为力。