iOS檢測攝像頭、指南針、陀螺儀的狀態的代碼
//檢查前后攝像頭
- (void)cameraBtnAction:(id)sender
{
BOOL cameraAvailable = [UIImagePickerController isCameraDeviceAvailable:
BOOL frontCameraAvailable = [UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceRear];//前
}UIImagePickerControllerCameraDeviceFront];//后
//檢查指南針 CoreLocation.framework <CoreLocation/CoreLocation.h>
- (void)magnetometerBtnAction:(id)sender { BOOL magnetometerAvailbale = [CLLocationManager headingAvailable]; }
//檢查聲音支持 AVFoundation.framework <AVFoundation/AVFoundation.h>
- (bool)audioBtnAction:(id)sender
{
//返回一個AVAudioSession實例
AVAudioSession *audioSession = [AVAudioSession sharedInstance]; BOOL audioAvailable = audioSession.inputAvailable;//bool值。獲取是否支持 }
//檢查錄像支持 MobileCoreServices.framework <MobileCoreServices/MobileCoreServices.h>
- (BOOL)isvideoCameraAvailable
{
//簡單檢查所有的可用的媒體資源類型,然后檢查返回的數組,
//如果其中包含了kUTTypeMovie的NSString類型對象,就證明攝像頭支持錄像
UIImagePickerController picker = [[UIImagePickerController alloc]init];
//返回所支持的media的類型數組
NSArray sourceTypes = [UIImagePickerController availableMediaTypesForSourceType:picker.sourceType];
[picker release];
if (![sourceTypes containsObject:(NSString *)kUTTypeMovie]) {//containsObject確定數組中是否包含后面的對象
} return YES; }return NO;
//檢查陀螺儀可用 CoreMotion.framework <CoreMotion/CoreMotion.h>
- (BOOL) isGyroscopeAvailable
{
#ifdef __IPHONE_4_0//4.0之后才有
CMMotionManager *motionManager = [[CMMotionManager alloc]init];
BOOL gyroscopeAvailable = motionManager.gyroAvailable;
[motionManager release];
return gyroscopeAvailable;
#else
return NO;
#endif
}</pre>
本文由用戶 6e72 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!