UIImagePickerController mediatype kUTTypeMovie运行时exception

我正在开发一个iPhone应用程序,我只需要查看设备照片库中的所有video。 我正在使用下面的代码

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

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

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

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

我试图用stringreplace术语kUTTypeMovie。

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

再一次,它在上述iOS版本的iPhone 3GS上效果很好,但是又一次在iPod Touch上崩溃。

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

可能的问题是什么? 我跟着其他职位相关的这种问题,如kUTTypeMovie不能正常工作

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

你使用哪一代iPod Touch?

刚刚find了这个答案:

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

希望能帮助到你

我认为你的问题是在UIImagePickerController的源types,你有没有把它设置为UIImagePickerControllerSourceTypeSavedPhotosAlbum ? 这似乎是你没有,因此你得到没有来源可用的错误,是你使用的iPod的触摸有一个摄像头可能不…