js
struct OpenIntent: AppIntent {
@available(iOS 16, *)
static var title = LocalizedStringResource("这里填写标题")
@available(iOS 16.0, *)
static var description = IntentDescription("这里填写描述")
// 意图执行时,是否自动将应用拉起到前台
static var openAppWhenRun: Bool = true
@available(iOS 16.0, *)
func perform() async throws -> some IntentResult {
//这样写会有一个dialog提示
// return .result(dialog: "play")
//这样写没有弹窗
return .result()
}
}
struct MeditationShortcuts: AppShortcutsProvider {
@available(iOS 16.0, *)
static var appShortcuts: [AppShortcut] {
AppShortcut(
intent: OpenIntent(),
phrases: [
"\(.applicationName) aaa",//这里必须有\(.applicationName) 否则在快捷指令里面搜索不到
],
//shortTitle 跟 systemImageName 最好一起写
shortTitle: "charge",
systemImageName: "battery.100percent.bolt"
);
}
}
设置systemImageName 的颜色以及在快捷指令中显示的背景色
info.plist 中添加
CustomTintColor BackgroundGradientColor1 BackgroundGradientColor2 都是设置的颜色资源的名字
xml
<dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>NSAppIconActionTintColorName</key>
<string>CustomTintColor</string>
<key>NSAppIconComplementingColorNames</key>
<array>
<string>BackgroundGradientColor1</string>
<string>BackgroundGradientColor2</string>
</array>
</dict>
</dict>