Используйте 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

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

  • Включить миниатюру ролика камеры в UIImagePickerController
  • Как получить имя файла в uiimagepickercontroller с помощью библиотеки Asset?
  • UIImagePickerController в iOS 6 работает неправильно
  • Добавление кнопки «Выбор из библиотеки фотографий» на панель инструментов UIImagePickerController
  • iOS - UIImagePickerController сбой на устройстве
  • Изображения iOS JPEG повернуты на 90 градусов
  • Сохранить фотографию с данными геолокации в библиотеке фотографий Swift 3
  • Предупреждение VIDEO_TOO_LONG_TITLE, показанное UIImagePickerController
  • 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]; } } 
    Interesting Posts

    Как хранить данные Firebase в массиве и распечатывать их?

    Сохраняя изображение, а затем загружая его в Swift (iOS)

    Как мне сделать анимацию более 200 изображений в iOS?

    iOS 7.1 imagePicker CameraFlashMode без указания состояния вспышки

    Прозрачные PNG в Monotouch для iOS

    «Отсутствует аргумент для параметра« стиль »в вызове« ошибка в создании системы UIBarButtonItem

    Обнаружение жестких кранов в любом месте iPhone через акселерометр

    Могу ли я делать подобные параллельные вычисления на графическом процессоре?

    Как создать архив XCode без чистой сборки

    UIAppearance для нескольких UILabels

    Информация, отображаемая инструментами «Распределения / утечки» в Xcode Instruments, отображается некорректно

    AVPlayerLayer оживляет изменения кадров

    Fire UIPanGestureRecognizer с внешней отправной точкой

    Как настроить UICollectionView с вкладкой на дополнительном представлении и переключением другого контента?

    Приложение не имеет доступа к вашим фотографиям или видео iOS 9

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