Как получить скриншот в iOS Share Extension? - PullRequest
0 голосов
/ 22 декабря 2018

Я создал расширение общего доступа для своего приложения, с помощью которого пользователи смогут создавать посты с изображениями.Он прекрасно работает, когда любое изображение из «Фото» выбрано и передано, но когда снимок экрана сделан и передан напрямую, расширение общего доступа не может его получить.

Я написал код, который используется дляполучить изображения.

-(void)fetchImages {
    for (NSExtensionItem *item in self.extensionContext.inputItems) {

        [item.attachments enumerateObjectsUsingBlock:^(NSItemProvider * _Nonnull itemProvider, NSUInteger idx, BOOL * _Nonnull stop) {
            if ([itemProvider hasItemConformingToTypeIdentifier:(NSString *)kUTTypeImage]) {
                [itemProvider loadItemForTypeIdentifier:(NSString *)kUTTypeImage options:nil completionHandler:^(NSData *image, NSError *error) {
                    // You will get Image data here that you can submit to server.
                    [self showAlertWithMessage:[error localizedDescription]];

                    if(image) {
                        [self saveImage:image atIndex:idx];
                    }
                }];
            }
        }];
    }
}

Вышеупомянутый метод вызывается после viewDidLoad.Когда в «Фото» выбрано какое-либо изображение, оно отображается превосходно, но когда моментальный снимок экрана делится сразу же после его получения, я получаю сообщение об ошибке «Невозможно привести элемент к классу nsdata» .Любая помощь по этому вопросу мне бы очень понравилась.Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...