You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在快捷指令App中隐藏LiveActivityIntent按钮

如何在快捷指令App中隐藏LiveActivityIntent按钮

问题描述

我是这样使用LiveActivityIntent给Live Activity添加交互按钮的:

struct Test: LiveActivityIntent {
    
    static var title: LocalizedStringResource = "Test"

    public init() { }

    func perform() async throws -> some IntentResult {
        return .result()
    }
}

这段代码能正常工作,但问题是这个LiveActivityIntent也会出现在快捷指令App里,这显然不合理——这些按钮本来就不应该让用户自行配置。请问要怎么把这些按钮对应的Intent从快捷指令App里隐藏掉?


解决方案

嗨,我完全懂你的困扰!专门给Live Activity做的交互按钮,对应的Intent跑到快捷指令里确实很违和,毕竟这些按钮就是为Live Activity专属设计的,不该让用户随便配置。别担心,只需要给你的Intent结构体加一段简单配置就能搞定。

你只需要在Test结构体中添加一个静态的intentConfiguration属性,把它的可见性设置为.hidden,系统就会自动把这个Intent从快捷指令App里隐藏起来,同时完全不影响它在Live Activity里的正常功能。修改后的代码如下:

struct Test: LiveActivityIntent {
    
    static var title: LocalizedStringResource = "Test"
    
    // 添加这段配置,隐藏Intent在快捷指令中的展示
    static var intentConfiguration: IntentConfiguration {
        IntentConfiguration(visibility: .hidden)
    }

    public init() { }

    func perform() async throws -> some IntentResult {
        return .result()
    }
}

原理说明

IntentConfiguration是用来控制Intent在系统中的暴露范围的,当你设置visibility: .hidden时,系统会识别出这个Intent是应用内部专属使用的,不会将其暴露给快捷指令这类系统级自动化工具。这样修改后,你的Live Activity交互按钮依然能正常响应,而快捷指令App里就不会再出现这个Intent了。

备注:内容来源于stack exchange,提问作者leonboe1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 12:44:34