我目前正在实现一些逻辑,用于在后台模式下从TCP套接字读取数据。iPhone OS 4.0.x - 在后台阻止I/O操作
CFReadStreamRead
函数被用来从套接字中获取一些数据,现在一切正常。
但我想知道iPhone OS 4.x如何在后台模式下阻止I/O操作。例如:CFReadStreamRead
函数在等待某些传入数据时可能会阻塞数小时。
是否有任何官方约束如10分钟的后台任务?对于长时间运行的阻塞I/O操作,我的应用程序是否会被iPhone OS杀死?
请注意 - 我是未在后台任务中运行阻塞I/O功能。代码本身位于我的UIApplicationDelegate
的applicationDidEnterBackground
方法中。
应用程序本身在Info.plst文件中配置了“voip”参数+ CFReadStream是根据Apple的建议kCFStreamNetworkServiceTypeVoIP
参数配置的。
所以基本上这是背景模式下VoIP应用的常规场景。
谢谢!