Получение видео актива после сохранения его в галерее - PullRequest
0 голосов
/ 08 ноября 2019

Я пытаюсь сохранить видео в Галерее, и после этого получаю ресурс, в ios 12 он работал нормально, теперь тестирование его в ios 13 больше не работает. Видео правильно сохранено, но полученный ресурс не является правильным, вместо этого он является другим из библиотеки.

PHPhotoLibrary.shared().performChanges({
    PHAssetChangeRequest.creationRequestForAssetFromVideo(atFileURL: filePath)
}) { completed, error in
    if completed {
        let fetchOptions = PHFetchOptions()
        fetchOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: true)]

        let fetchResult = PHAsset.fetchAssets(with: .video, options: fetchOptions).lastObject
        GeneralUtils().shareVideoFacebook(fetchResult!, self)
    }

}

1 Ответ

0 голосов
/ 08 ноября 2019

Я только что нашел решение этой проблемы. Вы можете запросить локальный идентификатор сохраненного изображения.

var id: String?
PHPhotoLibrary.shared().performChanges({
    let collection = PHAssetChangeRequest.creationRequestForAssetFromVideo(atFileURL: filePath)
    id = collection?.placeholderForCreatedAsset?.localIdentifier
}) { completed, error in
    if completed {
        let fetchResult = PHAsset.fetchAssets(withLocalIdentifiers: [id!], options: .none).firstObject
        GeneralUtils().shareVideoFacebook(fetchResult!, self)
    }                        
}
...