Swift AppIntentsを使用して、アプリにショートカットを作成、その2
その2:アプリに処理指示、View表示、パラメータなし
AlbumShuffleIntents.swift
import Foundation import AppIntents import SwiftUI struct AlbumShuffleIntent: AppIntent { static var title: LocalizedStringResource = "Album Shuffle" static var description = IntentDescription("Execute Shuffle & Play.") @MainActor func perform() async throws -> some ShowsSnippetView { Music.shared.albumShuffle() Music.shared.play() return .result { AlbumShuffleSnippetView() } } }
AlbumShuffleSnippetView.swift
import SwiftUI struct AlbumShuffleSnippetView: View { var body: some View { VStack(spacing: 8.0) { Label(Music.shared.albumTitle(collection: Music.shared.selectMPMediaItemCollection), systemImage: "opticaldisc") .font(.body) Label(Music.shared.artistName(collection: Music.shared.selectMPMediaItemCollection), systemImage: "person") .font(.body) .lineLimit(1) Label(Music.shared.albumTracks(collection: Music.shared.selectMPMediaItemCollection), systemImage: "music.note.list") .font(.body) .lineLimit(1) } .foregroundColor(.white) } }
- import SwiftUI大事!!これがないとShowsSnippetViewの応答コードがコンパイルエラーになる
- AlbumShuffleSnippetView()はSwiftUI