我可以将可能的源类型列为不可用的源类型吗?

时间:2012-06-14 17:26:14

标签: iphone objective-c ios memory-leaks uiimagepickercontroller

我目前有这个代码:

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);

问题是,某些设备没有电影模式。如果我允许该模式并且它不可用会导致问题吗?

1 个答案:

答案 0 :(得分:0)

据我所知,没有任何设备不支持视频模式。如果设备不支持视频模式,则根本不支持相机。我的建议是检查设备是否支持摄像头。在这种情况下,将执行以下代码。

if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
    NSLog(@"Device supports camera");
} else {
    NSLog(@"Device does not support camera");
}