一、系统级设置(适用于所有应用)
开启后台应用刷新(推荐) - 进入「设置」→「通用」→「后台应用刷新」
- 开启需要支持后台刷新的应用,系统会定时调用其刷新方法。
允许后台活动(针对特定任务)
- 进入「设置」→「通用」→「后台应用活动」
- 开启「允许后台活动」,部分应用需在「需要后台执行的任务」中勾选(如音频、定位等)。
二、开发端配置(需在代码中实现)
声明后台模式
- 在`Info.plist`文件中添加`UIBackgroundModes`键,值包含所需的后台模式,例如:
```xml
```
- 对于音频应用,需额外注册音频会话:
```swift
import AVFoundation
AVAudioSession.sharedInstance().setCategory(.playback, mode: .background, options: [])
AVAudioSession.sharedInstance().activate()
```
使用后台任务API
- 任务完成(Task Completion): 通过`beginBackgroundTask(withExpirationHandler:)`申请后台执行时间(最多3分钟),需在指定时间调用`endBackgroundTask(_:)`注销任务。 - 本地通知(Local Notifications)
三、注意事项
权限申请:部分后台模式(如音频、定位)需在App Store审核时声明权限,且用户需在设置中手动允许。
系统限制:后台执行时间有限(如3分钟),频繁使用会触发系统限制或导致应用被终止。
最佳实践:仅在必要时使用后台模式,避免过度依赖后台运行以节省设备资源。
通过以上方法,可灵活控制应用在后台的行为,提升用户体验。