我一直无法找到足够的文档来开始使用Photos Project扩展(可在High Sierra中找到)。
如何检索用户选择的内容(例如Apple如何使用其Prints扩展程序执行此操作),并在我的扩展程序视图中显示该内容?
答案 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)