UIImagePickerController mediatype kUTTypeMovie исключение времени выполнения - PullRequest
0 голосов
/ 01 февраля 2012

Я разрабатываю приложение для iPhone, в котором мне нужно только просматривать все видео, представленные в библиотеке фотографий устройства. Я использую следующий код

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

Я импортировал и добавил в свой проект инфраструктуру MobileCoreServices.

Отлично работает на iPhone 3GS, работает на iOS 4.3, но когда я запускаю его на 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"]; 

Опять же, он отлично работает на iPhone 3GS с вышеуказанной версией iOS, но снова вылетает на iPod Touch.

Я понял, что UICoreTypes.h, который определяет вышеупомянутую строковую константу, поддерживается в устройствах с iOS 3 и выше.

в чем может быть проблема? Я следил за другими сообщениями, связанными с такими проблемами, как kUTTypeMovie не работает

но, это только говорит нам, чтобы мы включили вышеупомянутую включенную структуру. Пожалуйста помоги.

Ответы [ 2 ]

1 голос
/ 01 февраля 2012

Я думаю, что ваша проблема в типе источника UIImagePickerController, вы установили его на UIImagePickerControllerSourceTypeSavedPhotosAlbum?Кажется, что у вас нет, и, следовательно, вы получаете сообщение об отсутствии источника, возможно, у ipod touch у вас есть видеокамера ...

0 голосов
/ 01 февраля 2012

Какое поколение iPod Touch вы используете?

Только что нашел этот ответ:

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

Надеюсь, это поможет

...