我假设我应该使用'PHFetchOptions'来制定谓词来获取每个EXIF标签(地理位置或'标签')的照片(PHAssets)。
我该怎么办?
...或者,还有更好的方法?
示例:从照片库中获取旧金山纬度/经度内拍摄的照片。
答案 0 :(得分:2)
您不能,如文档中所指定的那样:
构造一个谓词,其中包含您要获取的照片实体类的属性,如表1所示:SELF,localIdentifier,creationDate,modificationDate,mediaType,mediaSubtypes,duration,pixelWidth,pixelHeight,favorite(或isFavorite), hidden(或isHidden),burstIdentifier
您必须获取库中的所有照片并在以下情况后过滤结果:
if ([PHPhotoLibrary authorizationStatus]!=PHAuthorizationStatusDenied) {
PHFetchResult *allPhotosResult = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeImage options:nil];
[allPhotosResult enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
PHAsset *photo = obj;
if (photo.location) {
[photos addObject:photo];
}
if (allPhotosResult.count-1 == idx) {
[self showPhotosOnMap];
}
}];
}