Существуют ли способы получения URL-адреса PHAsset, не связанные с асинхронными запросами/процессами?
Я понимаю, что блокировать основной поток при выполнении таких запросов нельзя, но если у вас есть небольшое количество активов для запроса, можно ли получить их каким-либо другим способом?
До сих пор единственными способами, которые я нашел для получения URL-адресов ресурсов, были такие вещи, как следующие:
somePHAssetObject.requestContentEditingInput(with: nil, completionHandler: {
input, info in
guard let input = input
else { fatalError("can't get info: \(info)") }
let assetURL = input.audiovisualAsset as! AVURLAsset
})
Or
PHCachingImageManager().requestAVAsset(forVideo: SomePHAssetObject, options: nil, resultHandler: {
(asset: AVAsset?, audioMix: AVAudioMix?, info: [AnyHashable: Any]?) in
let vidURL = asset as! AVURLAsset
})
Есть ли способы сделать что-то подобное без асинхронного подхода? Я просто нигде не вижу свойство URL в PHAsset, но могу упустить что-то действительно очевидное.