iOSアプリがバックグラウンドに入った後、バックグラウンドで実行するためにタスクを拡張する方法を知っています
beginBackgroundTaskWithExpirationHandler
dispatch_async
等
しかし、NSOperations の相互依存性を失うことなく、バックグラウンド タスクとして拡張したい NSOperationQueue がある場合はどうなるでしょうか? 私がこれを持っているとしましょう:
NSBlockOperation *op1 = [NSBlockOperation blockOperationWithBlock:^{
// Do stuff
}];
NSBlockOperation *op2a = [NSBlockOperation blockOperationWithBlock:^{
// Do stuff
}];
[op2a addDependency:op1];
NSBlockOperation *op2b = [NSBlockOperation blockOperationWithBlock:^{
// Do stuff
}];
[op2b addDependency:op1];
NSBlockOperation *op3 = [NSBlockOperation blockOperationWithBlock:^{
// Do stuff
}];
[op3 addDependency:op2a];
[op3 addDependency:op2b];
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[queue addOperations: @[op1, op2a, op2b, op3] ];
NSOperationQueue をバックグラウンドで終了させるエレガントな方法はありますか?