Apple建议不要搜索硬件版本,而是针对您感兴趣的特定功能。iPhone - 检测iDevice是否有前置摄像头
那么,如何检测设备上是否有前置摄像头能够禁用某些功能?
[UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]
只说明有某个地方有相机。
Apple建议不要搜索硬件版本,而是针对您感兴趣的特定功能。iPhone - 检测iDevice是否有前置摄像头
那么,如何检测设备上是否有前置摄像头能够禁用某些功能?
[UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]
只说明有某个地方有相机。
尝试的UIImagePickerController的这个方法:
+ (BOOL)isCameraDeviceAvailable:(UIImagePickerControllerCameraDevice)cameraDevice
这是一类方法和UIImagePickerControllerCameraDevice可以取两个值:
UIImagePickerControllerCameraDeviceRear
UIImagePickerControllerCameraDeviceFront
示例代码:
if([UIImagePickerController isCameraDeviceAvailable: UIImagePickerControllerCameraDeviceFront ])
{
// do something
}
请注意,这适用于iOS 4.0及更高版本。
在斯威夫特
imagePicker.cameraDevice = UIImagePickerControllerCameraDevice.Front
Joey:嗯,好的,但如果这是只支持iOS 4及更高版本,这可能是愚蠢的,但我可以如何检测一下摄像头的王可如果我的用户在3G与iOS 3,而不要求硬件? – Oliver 2011-04-12 00:54:51
使用['isSourceTypeAvailable:'](http://developer.apple.com/library/ios/documentation/uikit/reference/UIImagePickerController_Class/UIImagePickerController/UIImagePickerController.html#//apple_ref/doc/uid/TP40007070-CH3-SW2 )。如果设备运行iOS3,则只有一个摄像头。 – 2011-04-12 01:01:01
'[UIImagePickerController respondsToSelector:@selector(isCameraDeviceAvailable :)]'当然。 – 2011-04-12 02:50:21