当我的iPhone应用程序进入后台模式时,我必须保留NSThread或NSTimer。可能吗 ?我在info.plist中启用了后台模式,并按如下方式打开了readstream和writestream ...(我正在使用UDP)
CFReadStreamSetProperty(readStream,kCFStreamNetworkServiceType,kCFStreamNetworkServiceTypeVoIP);
CFWriteStreamSetProperty(writeStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP);
但是当我的应用程序进入后台和锁定状态时,NSThread或NSTimer没有调用。那么请建议我如何在iPhone后台锁定状态下实现后台线程化?
答案 0 :(得分:1)
我也很想知道。
我想每五分钟更新一次CLLocation(当前位置)对象。我所知道的唯一方法就是使用NSTimer。
如果不可能,你有什么建议?
答案 1 :(得分:1)
而不是NSTimer
使用UILocalNotification
,它可以在应用程序位于后台和前台时触发通知。
答案 2 :(得分:1)
对于某些应用程序(音频,位置,voip),Apple允许在支持的设备上使用background execution。
必须由使用它们的应用程序事先声明对某些类型的后台执行的支持。应用程序通过在UIBackgroundModes
文件中包含Info.plist
密钥来声明此支持。它的值是一个包含一个或多个具有以下值的字符串的数组:
audio
location
voip