Как устранить ошибку PhotoKit «Исходный выбор ресурса действителен только для нескорректированной базовой версии»? - PullRequest
1 голос
/ 08 марта 2019

Я пытаюсь добавить данные IPTC, TIFF и EXIF ​​в PHAsset.Когда я применяю изменения с использованием следующего кода, я получил указанную ошибку:

guard let ciImage = CIImage(contentsOf: input.fullSizeImageURL!,  options: [.applyOrientationProperty:true]) else {
    fatalError("Not able to create CIImage from input")
}

//Write the edited image as a JPEG.
do {
    try CIContext().writeJPEGRepresentation(of: ciImage,
                                            to: output.renderedContentURL,
                                    colorSpace: outputImage.colorSpace!,
                                       options: [kCGImageDestinationLossyCompressionQuality as CIImageRepresentationOption:1.0])

} catch let error {
    fatalError("Can't apply metadata to the image: \(error).")
}

PHPhotoLibrary.shared().performChanges({
    let request = PHAssetChangeRequest(for: self.asset!)
    request.contentEditingOutput = output
}, completionHandler: { success, error in
    if !success {
        print("Can't edit the asset: \(error?.localizedDescription)")
    }
}

Ошибка:

[PhotoKit] Original resource choice is only valid for an unadjusted base version

Что я делаю не так?Есть ли лучший способ добавить метаданные IPTC в PHAsset, соотв.Файл UIImage?

1 Ответ

0 голосов
/ 08 марта 2019

Если обнаружена проблема, которая была в коде до того, как я создал CIImage, показанный в моем вопросе. Я удалил код и вместо перезаписи двоичных данных CIImage я просто использую CIImage для хранения своих изменений в PHAsset / PHAssetLibrary.

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