AppIntentsのParameterで写真を読み込みたい
結論: IntentFileを使う
Parameterで写真を読み込みたかったのだが、Imageなどの型は対応していないのでIntentFileという型を使う必要がある。データの型なので、そのままでは画像としては使えない。UIImageに変換したりする必要がある。
//ParameterはIntentFile型
@Parameter(title: "Photo", supportedTypeIdentifiers: ["public.image"], requestValueDialog: IntentDialog("Choose a photo")) var photo: IntentFile
//データをImage型として読み込む
var image: Image?
let data = photo.data
if let uiImage = UIImage(data: data) {
image = Image(uiImage: uiImage)
}
個人的にはこのような形で使った。
この記事が気に入ったらサポートをしてみませんか?