在iOs 4后台模式下使用NSTimer或NSThread

时间:2010-10-28 11:28:20

标签: iphone ios4 udp nstimer nsthread

当我的iPhone应用程序进入后台模式时,我必须保留NSThread或NSTimer。可能吗 ?我在info.plist中启用了后台模式,并按如下方式打开了readstream和writestream ...(我正在使用UDP)

  

CFReadStreamSetProperty(readStream,kCFStreamNetworkServiceType,kCFStreamNetworkServiceTypeVoIP);

CFWriteStreamSetProperty(writeStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP);

但是当我的应用程序进入后台和锁定状态时,NSThread或NSTimer没有调用。那么请建议我如何在iPhone后台锁定状态下实现后台线程化?

3 个答案:

答案 0 :(得分:1)

我也很想知道。

我想每五分钟更新一次CLLocation(当前位置)对象。我所知道的唯一方法就是使用NSTimer。

如果不可能,你有什么建议?

答案 1 :(得分:1)

而不是NSTimer使用UILocalNotification,它可以在应用程序位于后台和前台时触发通知。

答案 2 :(得分:1)

对于某些应用程序(音频,位置,voip),Apple允许在支持的设备上使用background execution

必须由使用它们的应用程序事先声明对某些类型的后台执行的支持。应用程序通过在UIBackgroundModes文件中包含Info.plist密钥来声明此支持。它的值是一个包含一个或多个具有以下值的字符串的数组:

audio
location
voip