Используйте UIImagePickerController на симуляторе iphone

У меня есть метод, который снимает фотографии из галереи или с камеры

-(IBAction) getPhoto:(id) sender { UIImagePickerController * picker = [[UIImagePickerController alloc] init]; picker.delegate = self; if((UIButton *) sender == choosePhotoBtn) { picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; } else { picker.sourceType = UIImagePickerControllerSourceTypeCamera; } [self presentModalViewController:picker animated:YES]; } 

Но когда я запускаю его на симуляторе, код не работает. И он не работает в picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum и picker.sourceType = UIImagePickerControllerSourceTypeCamera

Проблема в симуляторе или в коде?

4 Solutions collect form web for “Используйте UIImagePickerController на симуляторе iphone”

Попробуй это,

  if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) { picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; } else { picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; } [self.navigationController presentModalViewController:picker animated:NO]; 

Если вы создаете приложение для iPad. Вам нужно будет представить галерею в элементе управления popOver.

В симуляторе ваш picker.sourceType = UIImagePickerControllerSourceTypeCamera не будет называться, поскольку в симуляторе нет камеры. Также рекомендуется проверить, доступен ли тип источника, чтобы избежать сбоев.

 #import <MobileCoreServices/UTCoreTypes.h> …. if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { UIImagePickerController *imagePickerCamera =[[UIImagePickerController alloc] init]; imagePickerCamera.delegate = self; imagePickerCamera.mediaTypes = [NSArray arrayWithObjects:(NSString *) kUTTypeImage,nil]; imagePickerCamera.allowsEditing = YES; imagePickerCamera.sourceType = UIImagePickerControllerSourceTypeCamera; [self presentViewController:imagePickerCamera animated:YES completion:nil]; } else if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeSavedPhotosAlbum]) { UIImagePickerController *imagePickerAlbum =[[UIImagePickerController alloc] init]; imagePickerAlbum.delegate = self; imagePickerAlbum.mediaTypes = [NSArray arrayWithObjects:(NSString *) kUTTypeImage,nil]; imagePickerAlbum.allowsEditing = YES; imagePickerAlbum.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; [self presentViewController:imagePickerAlbum animated:YES completion:nil]; } 

Версия Swift 2.2:

 if UIImagePickerController.isSourceTypeAvailable(.Camera) { picker!.sourceType = .Camera } else { picker!.sourceType = .SavedPhotosAlbum // or .PhotoLibrary } 

Swift 3.0 verison:

 if UIImagePickerController.isSourceTypeAvailable(.camera) { picker.sourceType = .camera } else { picker.sourceType = .savedPhotosAlbum // or .photoLibrary } 

В симуляторе вы также не должны устанавливать cameraCaptureMode и showsCameraControls .

Аналогично приведенным выше ответам, но я нашел это проще. Покажите всплывающее предупреждение, если на устройстве нет камеры (например, симулятора). Сэм код, различное использование:

 //button if to take a photo - (IBAction)takePhoto:(id)sender { //checks if device has a camera if (![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { UIAlertView *noCameraAlert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"You don't have a camera for this device" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; //shows above alert if there's no camera [noCameraAlert show]; } //otherwise, show a modal for taking a photo else { UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; imagePicker.delegate = self; imagePicker.allowsEditing = YES; imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera; [self presentViewController:imagePicker animated:YES completion:NULL]; } } 
  • UIImagePickerController работает на устройстве iOS, но не на iOS-симуляторе?
  • UIImagePickerController имеет две кнопки «камеры», когда они начинаются с фронтальной стороны
  • UIImagePickerController показывает весь текст в случайном капитале
  • UIImagePickerController не будет инициализировать просмотр камеры иногда
  • UIImagePickerController: странный результат сжатия видео
  • Как сохранить значения после предупреждения о предупреждении памятиDidUnload
  • Проблема UIImagePickerController ios 5 при выборе изображения uising UIPopoverController в ipad
  • iOS неправильная ориентация при использовании передней камеры на UIImagePickerController
  • Проверка разрешения перед использованием UIImagePickerController
  • На экране повторного воспроизведения появляется камера UIImagePickerOverlayView
  • Как перекодировать видео в формат 16: 9 и изменять битрейт (и, возможно, FPS)?
  • Interesting Posts

    Невозможно развернуть Необязательно на popViewControllerAnimated

    Сделать вертикальное ограничение пространства постоянным равным проценту высоты экрана

    Изменить высоту статического UITableViewCell можно только путем переопределения heightForRowAtIndexPath?

    В приложении iOS, как определить, что пользователь нажал одну из клавиш со стрелками на своей внешней клавиатуре?

    Безопасность резьбы UIImage

    Оптимизация преобразования RGBA8888 в RGB565 с помощью NEON

    Localstorage очищается после перезапуска приложения на телефоне IOS?

    Динамически удалить нулевое значение из словаря swift, используя функцию

    NSInternalInconsistencyException ", причина: 'Не удалось загрузить NIB в пакете:' NSBundle

    Restkit создает дубликаты (ошибка: «Кэш управляемых объектов возвратил 2 объекта») только на устройстве, а не в симуляторе

    Можно ли изменить тип и размер шрифта в UITableView?

    Использование CMSampleTimingInfo, CMSampleBuffer и AudioBufferList из необработанного потока PCM

    Как создать сетку, например Excel на iOS?

    Как настроить отладку в Visual Studio для React Native?

    iOS 7: получить высоту для UITableViewCell по умолчанию?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.