在照片项目扩展程序

时间:2017-07-30 06:46:22

标签: swift xcode macos macos-high-sierra

我一直无法找到足够的文档来开始使用Photos Project扩展(可在High Sierra中找到)。

如何检索用户选择的内容(例如Apple如何使用其Prints扩展程序执行此操作),并在我的扩展程序视图中显示该内容?

1 个答案:

答案 0 :(得分:2)

我想您只想查看在beginProject中传递给您的PHProjectInfo。在那里,您可以获得所选内容的真实背景。例如:

let sections = projectInfo.sections
guard let firstContentSection = sections.first(where: { section in    section.sectionType == .content }),
let firstContents = firstContentSection.sectionContents.first

然后,您需要将云标识符转换为本地标识符以进行提取:

localIdentifiers = context.photoLibrary.localIdentifiers(for: cloudIdentifiers)

从那里,您可以获取实际的PHAssets:

let fetchResult = PHAsset.fetchAssets(withLocalIdentifiers: localIdentifiers, options: nil)

对于任何PHAsset,当您想要使用PHImageManager的图像时:

imageManager.requestImage(for: asset, targetSize: targetSize, contentMode: PHImageContentMode.aspectFit, options: nil)