を実行すると、私はbeginBackgroundTaskWithExpirationHandler()下でそれを入れているし、それによって、同じのための10分を割り当てられる必要があります。しかし、私はその前にアプリが中断されていると思う。私が実行しているタスクはメモリとCPU集約型なので、OSがアプリケーションを中断状態にしている可能性はありますか?
もしそうなら、これらの制限をバイパスする方法はありますか? (私はプライベートAPIを使用することにオープンしています)。ここでアプリがバックグラウンド状態に入ったとき、私はいくつかの処理をしていた有限長のバックグラウンドタスク
は、バックグラウンドタスクを開始するためのコードです:
if([[UIDevice currentDevice] respondsToSelector:@selector(isMultitaskingSupported)]){
if([[UIDevice currentDevice] isMultitaskingSupported]){
__block UIBackgroundTaskIdentifier bgTask;
UIApplication *application = [UIApplication sharedApplication];
bgTask = [application beginBackgroundTaskWithExpirationHandler:^{
[application endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[self captureImage];
[application endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
});
}
}
バックグラウンドタスクの開始に使用するコードを表示できますか? – Nate
どうしたの?これは本当の質問ではない? – Nate