Определение намерения приложения изменено, но оно не синхронизировано с приложением «Ярлыки».

Я изменяю определение намерения приложения, но изменения не отражаются в приложении «Ярлыки», когда я пытаюсь использовать измененное намерение в качестве действия в ярлыке.

И попытка запустить ярлык дает исключение:

[Выполнение] 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")
}
Другие вопросы по тегам