如何修复..枚举类型'枚举AVCaptureTorchMode的隐式转换

时间:2014-06-25 14:42:31

标签: ios objective-c

我有一台旧Mac,刚买了一台新机器。我试图将我的应用程序发布到apple。我在我的旧Mac上的Xcode 4.3上编写了应用程序,现在我想使用Xcode 5.1将它发布到Apple。我在这里收到此错误:

  

枚举类型的隐式转换&enum AVCaptureTorchMode'对......我不确定其余的含义。

所以我的问题是,这个错误是什么意思,为什么它会发生,代码应该向后比较。我通常在java / android中编写代码,所以我并没有真正体验到我应该使用的是客观c。我怎么能解决这个问题?

- (void) strobeON{    

onButton.hidden = YES;
offButton.hidden = NO;

onView.hidden = NO;
offView.hidden = YES;

AVCaptureDevice *flashlight = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if([flashlight isTorchAvailable] && [flashlight isTorchModeSupported: AVCaptureTorchModeOn])
{

    BOOL success = [flashlight lockForConfiguration:nil];
    if (success)
    {
        [flashlight setFlashMode:AVCaptureTorchModeOn];
        [flashlight unlockForConfiguration];    

    }
}

1 个答案:

答案 0 :(得分:1)

AVCaptureDevice的flashMode属性采用AVCaptureFlashMode枚举而不是AVCaptureTorchMode枚举。

更改此行:

[flashlight setFlashMode:AVCaptureTorchModeOn];

到此:

[flashlight setFlashMode:AVCaptureFlashModeOn]