2011-04-12 116 views
21

Apple建議不要搜索硬件版本,而是針對您感興趣的特定功能。iPhone - 檢測iDevice是否有前置攝像頭

那麼,如何檢測設備上是否有前置攝像頭能夠禁用某些功能?

[UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]只說明有某個地方有相機。

回答

43

嘗試的UIImagePickerController的這個方法:

+ (BOOL)isCameraDeviceAvailable:(UIImagePickerControllerCameraDevice)cameraDevice

這是一類方法和UIImagePickerControllerCameraDevice可以取兩個值:

  • UIImagePickerControllerCameraDeviceRear
  • UIImagePickerControllerCameraDeviceFront

示例代碼:

if([UIImagePickerController isCameraDeviceAvailable: UIImagePickerControllerCameraDeviceFront ]) 
{ 
    // do something 
} 

請注意,這適用於iOS 4.0及更高版本。

+0

Joey:嗯,好的,但如果這是隻支持iOS 4及更高版本,這可能是愚蠢的,但我可以如何檢測一下攝像頭的王可如果我的用戶在3G與iOS 3,而不要求硬件? – Oliver 2011-04-12 00:54:51

+2

使用['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

+1

'[UIImagePickerController respondsToSelector:@selector(isCameraDeviceAvailable :)]'當然。 – 2011-04-12 02:50:21

3

在斯威夫特

imagePicker.cameraDevice = UIImagePickerControllerCameraDevice.Front