use*_*899 1 ios swift backgroundtaskidentifier
BGTaskScheduler 因“BGTaskSchedulerErrorDomain”而失败 - 代码:iOS 13.0 上的 1
我已经尝试了 Apple 提供的示例程序 ColorFeed,但它面临同样的问题
let request = BGProcessingTaskRequest(identifier: "com.example.apple-samplecode.ColorFeed.db_cleaning")
request.requiresNetworkConnectivity = false
request.requiresExternalPower = true
do
{
try BGTaskScheduler.shared.submit(request)
} catch {
print("Could not schedule database cleaning: \(error)")
}
Run Code Online (Sandbox Code Playgroud)
上面的代码在 applicationDidEnterBackground 中被调用
早些时候,该任务在 didFinishLaunchingWithOptions 中注册...
BGTaskScheduler.shared.register(forTaskWithIdentifier: "com.example.apple-samplecode.ColorFeed.db_cleaning", using: nil) { task in
// Downcast the parameter to a processing task as this identifier is used for a processing request.
self.handleDatabaseCleaning(task: task as! BGProcessingTask)
}
Run Code Online (Sandbox Code Playgroud)
代码 1 表示 BGTaskScheduler.Error.unavailable
根据文档:
此错误通常由以下三个原因之一引起:
- 用户已在设置中禁用后台刷新。
- 该应用程序在不支持后台处理的模拟器上运行。
- 扩展没有在 Info.plist 文件中将 RequestsOpenAccess 设置为 YES,或者用户没有授予开放访问权限。
你是在真机上运行吗?该设备是否启用了后台刷新?
| 归档时间: |
|
| 查看次数: |
2379 次 |
| 最近记录: |