オーバーレイビューでビデオキャプチャ機能を作っています。そして今、UIApplicationDidEnterBackgroundNotification で stopVideoCapture メソッドを呼び出したいと思います。しかし、「stopVideoCapture」メソッドは常に失敗し、「/var/mobile/Media/PhotoData/takingvideo アクティビティ インジケーターは既にクリアされています」というエラー メッセージが表示されます。
何が問題なのか教えてください。
以下は、UIApplicationDidEnterBackgroundNotification で呼び出されるコードです。
UIApplication *app = [UIApplication sharedApplication];
self.bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
[app endBackgroundTask:self.bgTask];
self.bgTask = UIBackgroundTaskInvalid;
}];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
if (isRecording) {
dispatch_async(dispatch_get_main_queue(), ^{
[self.imagePickerController stopVideoCapture];
});
}
[NSThread sleepForTimeInterval:5];
[app endBackgroundTask:self.bgTask];
self.bgTask = UIBackgroundTaskInvalid;
});