iOS Swift - PHPhotoLibrary Операция не может быть завершена. (Ошибка cocoa -1.)

95
9

Я пытаюсь сохранить видеофайл в библиотеке фотографий. Я получил следующий фрагмент кода, но я получаю странную ошибку cocoa -1 при попытке сохранить видео, созданное с использованием UIImages, с текстом, добавленным программно.

Что вызывает ошибку PHPhotoLibrary "Операция не может быть выполнена. (Ошибка cocoa -1.)" При попытке сохранить видеофайл?

происходит, если я изменяю изображения следующим образом:

let midX = image.size.width / 2.0
let imageWithText = image.textToImage(drawText: "Added text", inImage: image, atPoint: CGPoint(x: midX, y: 100))

Я использую это решение для добавления текста: Как добавить текст к изображению в iOS Swift?

func textToImage(drawText text: String, inImage image: UIImage, atPoint point: CGPoint) -> UIImage {
let textColor = UIColor.white
let textFont = UIFont(name: "Helvetica Bold", size: 12)!

let scale = UIScreen.main.scale
UIGraphicsBeginImageContextWithOptions(image.size, false, scale)

let textFontAttributes = [
NSAttributedStringKey.font: textFont,
NSAttributedStringKey.foregroundColor: textColor,
] as [NSAttributedStringKey : Any]
image.draw(in: CGRect(origin: CGPoint.zero, size: image.size))

let rect = CGRect(origin: point, size: image.size)
text.draw(in: rect, withAttributes: textFontAttributes)

let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

return newImage!
}

Этот код работает до тех пор, пока изображение не будет изменено путем добавления текста:

PHPhotoLibrary.shared().performChanges({
PHAssetChangeRequest.creationRequestForAssetFromVideo(atFileURL: fileURL)
}) { saved, error in
if saved {
print("Saved video")
}else if error != nil
{
//getting error -1 here
print ("error: \(error!.localizedDescription)")
}
}

спросил(а) 2018-04-27T17:23:00+03:00 2 года, 10 месяцев назад
0
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема