Определение намерения приложения изменено, но оно не синхронизировано с приложением «Ярлыки».
Я изменяю определение намерения приложения, но изменения не отражаются в приложении «Ярлыки», когда я пытаюсь использовать измененное намерение в качестве действия в ярлыке.
И попытка запустить ярлык дает исключение:
[Выполнение] Perform() возвращал типы, не объявленные в сигнатуре метода
AppIntents/PerformActionExecutorTask.swift:78: Неустранимая ошибка: Perform() возвращает типы, не объявленные в сигнатуре метода
Есть ли способ принудительно перезагрузить приложение «Ярлыки», чтобы получить новые намерения, или я упустил что-то более простое?
1 ответ
Я понял. При возврате результата вместе со значением возвращается определениеperform()
функция должна включатьIntentResult
вот так:
// Works as described ✅
func perform() async throws -> some IntentResult & ReturnsValue<String> {
return .result(value: "Some text")
}
В том числе толькоReturnsValue<String>
приведет к исключению, указанному выше, и модифицированная версия намерения не будет воспринята компилятором.
// Incorrect function annotation ❌
func perform() async throws -> some ReturnsValue<String> {
return .result(value: "Some text")
}