Я пытаюсь получить путь к изображению, используя PHImageManager
на реальном устройстве, а не на симуляторе.Я использую photoUrl = info!["PHImageFileURLKey"] as? URL
, чтобы получить URL.
Теперь, когда я запускаю свой код на симуляторе, я получил 9 key/value pairs
в моей информации.Но когда я запускаю тот же код на реальном устройстве, я получаю только 3 key/value pairs
, и поэтому я не получаю photoUrl, и мое приложение вылетает
Вот код, который я пытался реализовать,
var selectedPhotos : [URL] = []
func pickerViewController(_ pickerViewController: TatsiPickerViewController, didPickAssets assets: [PHAsset])
{
self.selectedPhotos.removeAll()
let imageManager = PHImageManager.default()
let options = PHImageRequestOptions()
options.deliveryMode = .highQualityFormat
options.resizeMode = .exact
options.isSynchronous = true
let count = assets.count
for asset : PHAsset in assets
{
let imageSize = CGSize(width: asset.pixelWidth,
height: asset.pixelHeight)
/* For faster performance, and maybe degraded image */
imageManager.requestImage(for: asset,
targetSize: imageSize,
contentMode: .aspectFill,
options: options,
resultHandler:
{
(image, info) -> Void in
var photoUrl : URL!
photoUrl = info!["PHImageFileURLKey"] as? URL
self.selectedPhotos.append(photoUrl)
})
}
}