锁定屏幕后iPad应用程序变为非活动状

Jit*_*ngh 1 background ipad ios screen-lock

在我的应用程序中,我正在使用单独的线程在某个时间点下载和上载数据NSOperation.两个过程都需要大约.2-3分钟 如果应用程序仍然有效,那么一切正常.但是,如果iPad屏幕被锁定(自动或手动),则应用程序变为非活动状态,下载/上传暂停,并且在一段时间过程失败并且超时错误后屏幕解锁.

我在plist文件中为"必需的背景模式"播放了"App播放音频".在屏幕锁定时,我是否需要设置任何其他标志来运行应用程序?

出了什么问题请帮帮我.

Hai*_*lei 7

屏幕锁定后,您的应用将变为无效状态.每"应对中断" iOS应用程序编程指南:

按"睡眠/唤醒"按钮是另一种类型的中断,会导致您的应用暂时停用.当用户按下此按钮时,系统会禁用触摸事件,将应用程序移至后台,但将应用程序的applicationState属性值设置为UIApplicationStateInactive(而不是UIApplicationStateBackground),最后锁定屏幕.

根据同一指南中的"后台执行有限长度任务",您可以为后台任务获得额外的时间:

转换到后台的应用可以请求额外的时间来完成任何重要的最后一分钟任务.要请求后台执行时间,请调用该类的beginBackgroundTaskWithExpirationHandler:方法UIApplication.如果您的应用在任务正在进行时移至后台,或者您的应用已在后台,则此方法会延迟您的应用暂停.如果您的应用正在执行某项重要任务,例如将用户数据写入磁盘或从网络服务器下载重要文件,这一点非常重要.

您可以参考该文档在后台实现有限长度的下载任务.

其他参考: