UIImagePickerController mediatype kUTTypeMovie运行时异常

时间:2012-02-01 15:54:55

标签: iphone objective-c ios uiimagepickercontroller mpmovieplayercontroller

我正在开发一款iPhone App,我只需要查看设备照片库中的所有视频。我使用以下代码

UIImagePickerController picker = [[UIImagePickerController alloc] init];
picker.mediaTypes = [NSArray arrayWithObject:(NSString*)kUTTypeMovie];

我已将MobileCoreServices框架导入并添加到我的项目中。

在iOS 3G上运行的iPhone 3GS上效果很好,但是当我在iPod Touch上运行它时,有iOS 4.2.1,它会显示运行时异常

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'No available types for source 2'

我尝试用字符串替换术语kUTTypeMovie。

picker.mediaTypes = [NSArray arrayWithObject:@"public.movie"]; 

同样,它在带有上述iOS版本的iPhone 3GS上运行良好,但再次在iPod Touch上崩溃。

我意识到在iOS 3及更高版本的设备中支持定义上述字符串常量的UICoreTypes.h。

可能出现什么问题?我已经关注了与此类问题相关的其他帖子,例如kUTTypeMovie not working

但是,这只告诉我们包含上面包含的框架。请帮忙。

2 个答案:

答案 0 :(得分:1)

我认为您的问题属于UIImagePickerController的来源类型,您是否将其设置为UIImagePickerControllerSourceTypeSavedPhotosAlbum?看来你没有,因此你得到没有源可用的错误,你使用的ipod触摸有一个摄像机可能没有...

答案 1 :(得分:0)

你使用哪一代iPod Touch?

刚刚找到了这个答案:

https://stackoverflow.com/a/3532404/1047258

希望有所帮助