Ios8 如何使用captureStillImageAsynchronouslyFromConnection捕获多个快照

Ios8 如何使用captureStillImageAsynchronouslyFromConnection捕获多个快照,ios8,avfoundation,Ios8,Avfoundation,我正在尝试在ios8应用程序中实现多个快照。 我正在使用llsimplecamera(),它是AvFoundation的一个包装器,与我一样工作良好。 当我按下快门按钮时,会调用“captureStillImageAsynchronouslyFromConnection”(AVCaptureStillImageOutput实例的一种方法),所有操作都正常,我会获得一张照片。 如果我尝试将“captureStillImageAsynchronouslyFromConnection”放在一个循环中以

我正在尝试在ios8应用程序中实现多个快照。 我正在使用llsimplecamera(),它是AvFoundation的一个包装器,与我一样工作良好。 当我按下快门按钮时,会调用“captureStillImageAsynchronouslyFromConnection”(AVCaptureStillImageOutput实例的一种方法),所有操作都正常,我会获得一张照片。 如果我尝试将“captureStillImageAsynchronouslyFromConnection”放在一个循环中以捕获多个快照,则不会得到任何照片。 我尝试使用信号量技术:

    if ([self.captureDevice lockForConfiguration:nil]) {
    if ([self.captureDevice isFocusModeSupported:AVCaptureFocusModeLocked])
        [self.captureDevice setFocusMode:AVCaptureFocusModeLocked];
    if ([self.captureDevice isExposureModeSupported:AVCaptureExposureModeLocked])
        [self.captureDevice setExposureMode:AVCaptureExposureModeLocked];
    if ([self.captureDevice isWhiteBalanceModeSupported:AVCaptureWhiteBalanceModeLocked])
        [self.captureDevice setWhiteBalanceMode:AVCaptureWhiteBalanceModeLocked];
}

AVCaptureConnection *videoConnection = [self captureConnection];
videoConnection.videoOrientation = [self orientationForConnection];

dispatch_semaphore_t sync = dispatch_semaphore_create(0);
while(1)
{
    [self.stillImageOutput captureStillImageAsynchronouslyFromConnection:videoConnection completionHandler: ^(CMSampleBufferRef imageSampleBuffer, NSError *error)
     {

         if (imageSampleBuffer != NULL)
         {
             NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageSampleBuffer];
             UIImage *image = [UIImage imageWithData:imageData];
             NSLog(@"image %@",image);
         }
         dispatch_semaphore_signal(sync);
     }];
    dispatch_semaphore_wait(sync, DISPATCH_TIME_FOREVER);
}

return nil;
但是我没有照片。 我做错了什么? 提前谢谢