【发布时间】:2011-04-12 00:23:03
【问题描述】:
Apple 建议不要搜索硬件版本,而是搜索您感兴趣的特定功能。
那么如何检测设备上是否有前置摄像头才能禁用某些功能?
[UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera] 只告诉某处有摄像头。
【问题讨论】:
Apple 建议不要搜索硬件版本,而是搜索您感兴趣的特定功能。
那么如何检测设备上是否有前置摄像头才能禁用某些功能?
[UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera] 只告诉某处有摄像头。
【问题讨论】:
试试UIImagePickerController这个方法:
+ (BOOL)isCameraDeviceAvailable:(UIImagePickerControllerCameraDevice)cameraDevice
这是一个类方法,UIImagePickerControllerCameraDevice 可以取两个值:
UIImagePickerControllerCameraDeviceRearUIImagePickerControllerCameraDeviceFront示例代码:
if( [UIImagePickerController isCameraDeviceAvailable: UIImagePickerControllerCameraDeviceFront ])
{
// do something
}
请注意,这适用于 iOS 4.0 及更高版本。
【讨论】:
isSourceTypeAvailable:。如果设备运行 iOS3,则只有一个摄像头。
[UIImagePickerController respondsToSelector:@selector(isCameraDeviceAvailable:)] 当然。
在斯威夫特中
imagePicker.cameraDevice = UIImagePickerControllerCameraDevice.Front
【讨论】:
isCameraDeviceAvailable(_:)核对吗?