0

Photos Project 拡張機能 (High Sierra で利用可能) を開始するのに十分なドキュメントを見つけることができませんでした。

ユーザーが選択したものを取得するにはどうすればよいですか (Apple が Prints 拡張機能で行う方法と同様)、それを拡張機能のビューに表示するにはどうすればよいですか?

4

1 に答える 1

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)
于 2017-08-01T00:36:17.107 に答える