Как отобразить изображение библиотеки фотографий в Xcode? - PullRequest
0 голосов
/ 15 января 2019

Мой код объектива-c содержит ошибку Code = 13 и не отображает ни фотографию с камер, ни изображение библиотеки в представлении изображения.

Я использую Xcode 10.1, цель развертывания 12.0, и я ухожу с примера из UIImagePickerController не выбирает изображение в iOS 9

У меня две проблемы:

1) Несмотря на то, что я добавляю «Конфиденциальность - описание использования библиотеки фотографий | Мы хотим использовать библиотеку» в p-списке, она все равно дает мне эту ошибку:

[обнаружение] ошибки, обнаруженные при обнаружении расширений: Ошибка Домена = PlugInKit Code = 13 "запрос отменен" UserInfo = {NSLocalizedDescription = запрос отменен}

Что я делаю не так?

2) Я не могу получить изображение, отображаемое в представлении LoveImage. Что я тут не так делаю?

Ниже находится файл .m:

-(IBAction)imagepickertapped:(id)sender { 
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Attach image" message:@"" preferredStyle:UIAlertControllerStyleActionSheet];
UIAlertAction* pickFromGallery = [UIAlertAction actionWithTitle:@"Take a photo"
                                                          style:UIAlertActionStyleDefault
                                                        handler:^(UIAlertAction * action) {
                                                            if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
                                                            {
                                                                UIImagePickerController* picker = [[UIImagePickerController alloc] init];
                                                                picker.sourceType = UIImagePickerControllerSourceTypeCamera;
                                                                picker.delegate = self;
                                                                [self presentViewController:picker animated:YES completion:NULL];
                                                            }

                                                        }];
UIAlertAction* takeAPicture = [UIAlertAction actionWithTitle:@"Choose from gallery"
style:UIAlertActionStyleDefault
                                                     handler:^(UIAlertAction * action) {
                                                         UIImagePickerController* picker = [[UIImagePickerController alloc] init];
                                                         picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
                                                         picker.delegate = self;
                                                         [self presentViewController:picker animated:YES completion:NULL];
                                                     }];
UIAlertAction* cancel = [UIAlertAction actionWithTitle:@"Cancel"
                                         style:UIAlertActionStyleCancel
                                               handler:^(UIAlertAction * action) {
                                               }];

[alertController addAction:pickFromGallery];
[alertController addAction:takeAPicture];
[alertController addAction:cancel];
[self presentViewController:alertController animated:YES completion:nil]; }

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info {
UIImage *LoveImage = info[UIImagePickerControllerOriginalImage];
[picker dismissViewControllerAnimated:YES completion:nil];
self.LoveImage = info[UIImagePickerControllerOriginalImage];}

-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
[picker dismissViewControllerAnimated:YES completion:nil];}

1 Ответ

0 голосов
/ 15 января 2019

Измените код метода didfinish на следующий.

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info {
    UIImage *LoveImage = info[UIImagePickerControllerOriginalImage];
    [picker dismissViewControllerAnimated:YES completion:nil];
    self.LoveImage.image = LoveImage;
}

LoveImage - это просмотр изображений. Мы не можем назначить изображение напрямую. У него есть свойство image, поэтому мы должны установить его свойство image.

...