3

我已经在我的应用程序中运行了相机,并且在模拟器中访问它的按钮被禁用,但是如果用户从不使用它,我也会弹出一个警报。如果他们的设备没有摄像头,我不希望出现这种情况,并且我使用过:

if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
    //alert
}

但在模拟器中它仍在运行警报。不幸的是,我没有没有摄像头的设备来测试它,我不确定是否存在问题。我不希望它能够运行,因为模拟器没有摄像头,对吧?

4

1 回答 1

0

这就是我为此目的使用的:

- (void) initializeCamera {
    AVCaptureDevice* device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
    NSError *error = nil;
    AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device error:&error];

    if(!input) {
        // running on simulator or something else without camera
        NSLog(@"camera is not found");
    }
    else {
        // camera exists, you can alert
    }
}
于 2013-03-07T09:08:53.170 回答