Iphone 我是否可以将可能的源类型列为不可用的源类型?
我目前有以下代码:Iphone 我是否可以将可能的源类型列为不可用的源类型?,iphone,objective-c,ios,memory-leaks,uiimagepickercontroller,Iphone,Objective C,Ios,Memory Leaks,Uiimagepickercontroller,我目前有以下代码: NSArray *mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:imagePicker.sourceType]; imagePicker.mediaTypes = mediaTypes; 但它导致了这次泄漏: figremote_createpropertylistfrombinaryplistdata 有人说用这个来代替它: CFStringRef mTypes[2] = {
NSArray *mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:imagePicker.sourceType];
imagePicker.mediaTypes = mediaTypes;
但它导致了这次泄漏:
figremote_createpropertylistfrombinaryplistdata
有人说用这个来代替它:
CFStringRef mTypes[2] = { kUTTypeImage, kUTTypeMovie };
CFArrayRef mTypesArray = CFArrayCreate(CFAllocatorGetDefault(), (const void**)mTypes, 2, &kCFTypeArrayCallBacks);
imagePicker.mediaTypes = (NSArray*)mTypesArray;
CFRelease(mTypesArray);
问题是,有些设备没有电影模式。如果我允许该模式,但该模式不可用,是否会导致问题?据我所知,没有设备不专门支持视频模式。如果设备不支持视频模式,它将根本不支持摄像头。我的建议是检查设备是否支持摄像头。在这种情况下,可以使用以下代码
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
NSLog(@"Device supports camera");
} else {
NSLog(@"Device does not support camera");
}