Photos Project 拡張機能 (High Sierra で利用可能) を開始するのに十分なドキュメントを見つけることができませんでした。
ユーザーが選択したものを取得するにはどうすればよいですか (Apple が Prints 拡張機能で行う方法と同様)、それを拡張機能のビューに表示するにはどうすればよいですか?
Photos Project 拡張機能 (High Sierra で利用可能) を開始するのに十分なドキュメントを見つけることができませんでした。
ユーザーが選択したものを取得するにはどうすればよいですか (Apple が Prints 拡張機能で行う方法と同様)、それを拡張機能のビューに表示するにはどうすればよいですか?
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)