使用 ALAssetPropertyAssetURL 获取 ALAsset 的 UID URL

Get UID URL for ALAsset with ALAssetPropertyAssetURL

我通过调用 [asset valueForProperty:ALAssetPropertyAssetURL] 获得资产 URL 有时它 returns 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.

我认为我无法从 ALAsset 中获取 ALAssetPropertyAssetURL 属性,但是当我 运行 它时它可以随时工作。

问题:

  1. 如何获取资产 url 以在 [PHAsset fetchAssetsWithALAssetURLs: ....] 中使用它?

UPD

我不明白这个:"How to get URL if only the ALAssetRepresentation and ALAssetsGroup classes support this property?"

我们可以对 ALAsset 对象使用这样的东西

[[asset defaultRepresentation] url]