iOS - 为啥相同的资产有不同的资产URL?

Posted

技术标签:

【中文标题】iOS - 为啥相同的资产有不同的资产URL?【英文标题】:iOS - Why same asset has different assetURLs?iOS - 为什么相同的资产有不同的资产URL? 【发布时间】:2015-04-04 22:43:05 【问题描述】:

我正在 ios 上使用以下命令从默认的相册和最近添加的相册中获取资产(照片和视频):

PHFetchResult *CameraRollAssetsFetchResults = [PHAsset fetchAssetsWithOptions:options];
PHFetchResult *recentlyAddedAssetsFetchResults = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum subtype:PHAssetCollectionSubtypeSmartAlbumRecentlyAdded options:nil];

两个相册中都有一张照片,我尝试使用assetURL去重复。

但是,同一张照片在获取时有两个不同的assetURL,分别来自相机胶卷和最近添加的相册。怎么可能?有什么建议么?有什么方法可以识别从不同专辑中提取的相同资产?

【问题讨论】:

【参考方案1】:

分别从相机胶卷和最近添加的相册中获取时有两个不同的assetURL?怎么可能?

因为 URL 包含要找到资产的位置。它就像一个别名或符号链接;两个符号链接可能不同,它们指向不同文件夹中的资源,但最终指向的是同一个资源。

是否有任何方法可以识别从不同专辑中提取的相同资产?

如果它们确实相同,那么它们的 localIdentifier 值将相同。

【讨论】:

我刚试过 .phAsset.localIdentifier 但仍然无法识别:( 如果它们有不同的标识符,库必须将它们视为不同的资产......

以上是关于iOS - 为啥相同的资产有不同的资产URL?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用多个目标使用具有相同名称的不同资产

如何为具有不同图形和媒体资产的不同发送方应用程序实现相同的自定义接收方应用程序?

不同 iOS 应用程序的相同代码库,相同的项目

iOS - 基于设备的不同图像或缩放相同的图像?

资产目录和多个目标

[茶思]资产的分类方法