Получите URL-адрес UID для ALAsset с помощью ALAssetPropertyAssetURL

Я получаю URL-адрес актива, вызывая [asset valueForProperty:ALAssetPropertyAssetURL], иногда он возвращает nil или может быть активом nil (я видел это в журналах сбоев). Я прочитал в документации:

ALAssetPropertyAssetURL
The key to retrieve a URL identifier for the asset.

The corresponding value is an NSURL object.

This URL is used by the library-change notifications to identify assets and asset groups. Only the ALAssetRepresentation and ALAssetsGroup classes support this property.

Я думаю, это означает, что я не могу получить свойство ALAssetPropertyAssetURL из ALAsset, но оно работает в любое время, когда я его запускаю.

Вопросы:

  1. Как я могу получить URL-адрес актива, чтобы использовать его в [PHAsset fetchAssetsWithALAssetURLs: ....]?

UPD

Я не понимаю этого: "Как получить URL, если только классы ALAssetRepresentation и ALAssetsGroup поддерживают это свойство?"


person Andrew Romanov    schedule 27.05.2015    source источник


Ответы (1)


Мы могли бы использовать что-то подобное с объектом ALAsset

[[asset defaultRepresentation] url]
person Tharindu Madushanka    schedule 12.06.2015
comment
Извините, но этот метод будет объявлен устаревшим в будущем ios. - person Andrew Romanov; 15.06.2015
comment
да. нам придется использовать PhotosLibrary вместо AssetsLibrary - person Tharindu Madushanka; 16.06.2015
comment
Вместо этого вы должны использовать PHAsset. - person Utsav Dusad; 30.04.2016