Как вызвать намерение из виджета в SwiftUIIOS

Программируем под IOS
Ответить
Гость
 Как вызвать намерение из виджета в SwiftUI

Сообщение Гость »


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

"Не удалось найти намерение с идентификатором PlayerIntent,
mangledTypeName: Необязательный("21PlayerWidgetExtension0A6IntentV") "

ошибка. Если я использую намерение изнутри приложения, я получаю

PlayerIntent не удалось выполнить с ошибкой: операция не может быть
завершена. (AppIntents.AppIntentError 1.)

Я добавил PlayerIntent как в приложение, так и в виджет.

Код: Выделить всё

struct PlayerIntent: AudioStartingIntent {
static var title: LocalizedStringResource = "PlayerIntent"
static var description: IntentDescription = IntentDescription("Plays a widget sound")

@Parameter(title: "Sound")
var sound: String

init() {}

init(sound: String) {
self.sound = ""
}

@MainActor
func perform() async throws -> some IntentResult {
Player.shared.play()
return .result()
}}
I created PlayerIntent by adding an "App Intents Extensions" target. Otherwise, I can't even see this error in console.
Update: I get this error even in Apple's example app Emoji Rangers.


Источник: https://stackoverflow.com/questions/777 ... in-swiftui
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»