首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从MacOS的照片库中获取所有PHAssets

如何从MacOS的照片库中获取所有PHAssets
EN

Stack Overflow用户
提问于 2017-12-05 11:49:09
回答 2查看 1.2K关注 0票数 4

我想使用MacOS照片库使用PHAsset解析所有图像。但是,我发现的所有示例都只适用于iOS,如下面的示例,其中检索资产的最后一行在macos框架中不可用:

代码语言:javascript
复制
    NSMutableArray *photos = [[NSMutableArray alloc] init];
    PHFetchOptions *allPhotosOptions = [[PHFetchOptions alloc] init];
    allPhotosOptions.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:YES]];

 // Below compilation error as fetchAssetsWithMediaType is only on iOS framework
    PHFetchResult *allPhotos = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeImage options:allPhotosOptions];

我应该在fetchAssets (10.13版)上使用什么MacOS命令,或者有其他方法可以这样做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-05 18:17:48

Photos框架--或者至少是该框架的主要子集--在macOS中是不可用的,它为应用程序提供了对整个Photos库的读/写访问。

照片和PhotosUI存在于macOS中,但只支持特定的应用程序扩展功能:

  • 照片编辑扩展。用户为单个资产在编辑模式下从Photos应用程序中调用这些数据,并且它提供对该资产的照片/视频数据的直接访问,因此它甚至不使用PHAsset类。
  • 照片项目扩展。这涉及到资产的集合,并有选择地为每个资产加载数据,因此存在更多的PHAsset/PHImageManager系统。然而,与iOS相比,它仍然是一个简化的子集(只有项目扩展所需的部分,比如获取该项目中的资产),而且它只能用于应用程序扩展,而不是独立的应用程序。

如果您想在macOS上使用完整的Photos框架,最好的选择是使用向Apple提交功能请求

票数 3
EN

Stack Overflow用户

发布于 2019-11-12 18:52:51

从macOS 10.15Catalina开始,Photos和PhotosUI框架现在都可以在Mac上使用,既适用于催化剂,也适用于AppKit应用程序。因此,您现在应该能够将几乎所有使用PhotoKit的PhotoKit代码传输到您的Mac应用程序,只要它至少需要10.15个系统。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47652944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档