SuperAPI AI 工具集

background-tasks

通用与其它

查看项目

更新于 10-16 02:32

技能介绍

用途:在 iOS/iPadOS 应用被挂起或进入后台时,使用 Apple 的 BackgroundTasks 框架调度并执行工作,例如刷新内容、运行耗时处理。

主要能力与任务类型:BGAppRefreshTask 用于短内容刷新,约 30 秒,由系统决定触发;BGProcessingTask 用于重处理(机器学习、数据库、同步),可持续数分钟,系统决定且在设备空闲时触发;BGContinuedProcessingTask 用于必须在前台启动并需在后台继续的前台作业,无时间限制,仅由用户操作触发;BGHealthResearchTask 用于健康研究数据处理,持续数分钟,系统决定且在设备空闲时触发。限制:任意时刻最多可调度 1 个刷新任务和 10 个处理任务。

使用方式:首次设置参考 references/setup.md(Info.plist 键、UIBackgroundModes、注册);周期性刷新内容参考 references/app-refresh.md;重后台工作参考 references/processing.md(电源与网络要求);需在后台继续的前台任务参考 references/continued-processing.md(GPU、进度、实时活动);任务生命周期管理(取消、限制、待处理任务)参考 references/scheduling.md;提交错误处理参考 references/error-handling.md(notPermitted、tooManyPendingTaskRequests、unavailable);开发期测试参考 references/testing.md(LLDB 调试命令、仅限真机)。

关键规则:所有启动处理器必须在 applicationDidFinishLaunching 返回前注册;必须设置 expirationHandler,否则系统会静默将任务标记为失败;必须调用 setTaskCompleted(success:),否则系统可能终止应用;应在启动处理器内部重新调度,而不是在其返回后;BGContinuedProcessingTask 必须由用户操作触发,并从前台开始。

适用场景:需要在应用后台或挂起时刷新内容、执行耗时处理、维持前台作业或处理健康研究数据的 iOS/iPadOS 开发。

限制:任务触发时机与时间上限由系统决定;调度数量有上限;测试仅限真机;具体 API 细节与完整参考见随附的 backgroundtasks.md 及各 references 文件。