我正在更改一个应用程序意图定义,但是当我试图在快捷方式中使用我更改的意图作为操作时,这些更改没有反映在快捷方式应用程序中。
并且尝试运行快捷方式会给出一个异常:
[Execution] execute()返回类型未在方法签名中声明
AppIntents/PerformActionExecutorTask.swift:78:致命错误:execute()返回的类型没有在方法签名中声明
是否有一种方法来强制重新加载快捷方式应用程序,以获得新的意图,或者我错过了一些更基本的东西?
我明白了。当返回一个结果和一个值时,perform()
函数的返回定义需要包括IntentResult
,如下所示:
// Works as described ✅
func perform() async throws -> some IntentResult & ReturnsValue<String> {
return .result(value: "Some text")
}
只包含ReturnsValue<String>
将导致上面的异常,并且编译器不会拾取修改过的intent版本。
// Incorrect function annotation ❌
func perform() async throws -> some ReturnsValue<String> {
return .result(value: "Some text")
}