使用PHPhotoLibrary保存图像和视频时如何获取资产URL?

时间:2019-06-23 09:00:35

标签: ios alassetslibrary phasset phphotolibrary

我的代码使用ALAssetsLibrary将图像和视频保存到iOS画廊。但是Xcode告诉我ALAssetsLibrary自iOS 9.0起已过时,建议我改用PHPhotoLibrary

使用旧的ALAssetsLibrary,保存后会得到一个资源URL,类似于assets-library://asset/asset.JPG?id=XXX。但是,对于ALAssetsLibrary,我发现没有简单的方法来找回资产URL。关于SO的许多相关问题都参考此代码:

https://gist.github.com/jVirus/2f041bb8b1936093773f0bde42af3a49

但是返回的URL是文件URL:file://path/to/file,而不是资产URL。

我发现最好的选择是获取资产标识符并连接字符串:

return URL(string: "assets-library://asset/asset.JPG?id="+assetId+"&ext=JPG")

这是一个不安全的方法,因为URL格式将来可能会更改。有时我发现资产标识符在末尾包含“ /”段,需要在连接之前将其删除。

是否有任何“官方” API方法来获取PHAsset的素材资源网址?

0 个答案:

没有答案