Сохранить отредактированное фото вместе с захваченным - PullRequest
0 голосов
/ 21 мая 2018

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

[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{

    // Make a change request for adding an asset.
    PHAssetChangeRequest *changeRequest =
            [PHAssetChangeRequest creationRequestForAssetFromImageAtFileURL:originalJPEGFileURL];

    // Make a content editing output for use with the change request.
    PHObjectPlaceholder *placeholder = changeRequest.placeholderForCreatedAsset;
    PHContentEditingOutput *contentEditingOutput =
            [[PHContentEditingOutput alloc] initWithPlaceholderForCreatedAsset:placeholder];

    // Apply content adjustments to the newly created asset.
    contentEditingOutput.adjustmentData = adjustmentData;
    [adjustedJPEGData writeToURL:contentEditingOutput.renderedContentURL atomically:YES];
    changeRequest.contentEditingOutput = contentEditingOutput;

} completionHandler:^(BOOL success, NSError *error) {
    if (!success) NSLog(@"Can't create asset: %@", error);
}];

К сожалению, я постоянно получаю код ошибки -1.Кто-нибудь успешно сохранил отредактированное изображение рядом с оригинальным, когда ресурс только что создал?

ОБНОВЛЕНИЕ 1: Это происходит, только если актив содержит информацию о глубине: - /

ОБНОВЛЕНИЕ 2: Хм, вещиухудшается.Я попробовал на своем iPhone приложение Apple под названием UsingPhotosFramework, и оно тоже не работает.Я также заметил, что я могу выполнять редактирование с использованием фотографий, и как только у меня появятся некоторые правки актива, как моего, так и работы приложения Apple.Когда актив возвращается к исходному (что означает, что больше нет данных настройки или fullSizePhoto существует), оба приложения перестают работать.Snapseed по-прежнему работает на любых изображениях.

1 Ответ

0 голосов
/ 22 мая 2018

Хорошо, проблема была решена.Проблема заключалась в том, что отредактированное изображение имело «неправильную» ориентацию.Согласно документации Apple, отредактированное изображение должно быть правильно ориентировано (например, в соответствии с его тегом ориентации), а тег Orientation должен быть установлен в 1, что, очевидно, CIImage не делает даже после использования метода .oriented.

...