WatchOS26 ControlWidget cannot display image copy or click
import Foundation
import SwiftUI
import WidgetKit
import AppIntents
internal import Combine
struct WidgetToggle: ControlWidget {
var body: some ControlWidgetConfiguration {
StaticControlConfiguration(kind: "com.example.myApp.performActionButton", provider: TimerValueProvider()) { isRunning in
ControlWidgetToggle("WidgetToggle", isOn: isRunning, action: ToggleTimerIntent()) { isOn in
Label(isOn ? "Running" : "Stopped", systemImage: isOn ? "hourglass.bottomhalf.filled" : "hourglass")
}
}
.displayName("WidgetToggle")
.description("WidgetToggle description")
}
}
struct TimerValueProvider: ControlValueProvider {
var previewValue: Bool {
return false
}
func currentValue() async throws -> Bool {
return TimerManager.shared.isRunning
}
}
struct ToggleTimerIntent: SetValueIntent {
static var title: LocalizedStringResource = "WidgetToggle"
@Parameter(title: "Toggle")
var value: Bool
func perform() async throws -> some IntentResult {
TimerManager.shared.isRunning = value
return .result()
}
}
class TimerManager: ObservableObject {
static let shared = TimerManager()
@Published var isRunning = false
}