Как писать виджет iOS, как SwitchBot?IOS

Программируем под IOS
Ответить
Anonymous
 Как писать виджет iOS, как SwitchBot?

Сообщение Anonymous »

Я хочу написать виджет iOS, который работает как Swichbot и управляет сценой. Виджет меняет состояние после того, как его щелкнут и возвращается в свое исходное состояние. Как это делается? Кто -нибудь знает? При выполнении exact () я вызываю сетевой интерфейс, чтобы получить результат, ReloadallTimelines () обновляет первый пользовательский интерфейс для отображения соответствующего результата, а затем ожидает 2 секунды, чтобы очистить данные о состоянии и Reloadalltimelines () , чтобы обновить второй пользовательский интерфейс.

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

eloadAllTimelines()
(это нормально при подключении к XCode для отладки, но это не в порядке при отключении от Xcode). Поскольку виджет не может хорошо войти в систему, невозможно проверить, является ли провайдер выполнять gettimeline () обычно после Reloadalltimelines () или, если где-то есть что-то ненормальности.struct ToggleIntent: AppIntent {

static var title: LocalizedStringResource = "Open&Swith Task"
static var description: IntentDescription = IntentDescription("Open and swith device Task")

@Parameter(title: "devicesn")
var deviceSN: String

static var isDiscoverable: Bool = false

init() { }
init(deviceSN: String) {
self.deviceSN = deviceSN
}
typealias DefaultIntentResult = IntentResultContainer

func perform() async throws -> some IntentResult {

let state = await DataRequest.shared.asyncSmartRequest(id: deviceSN)
WidgetDataManager.update(state)

WidgetCenter.shared.reloadAllTimelines()

try? await Task.sleep(nanoseconds: 2_000_000_000)

WidgetDataManager.restore()
WidgetCenter.shared.reloadAllTimelines()
return DefaultIntentResult.result()
}
}
< /code>
Я просто хочу написать виджет, такой как Swichbot (выполнить действие, показать статус и статус восстановления), это правильный путь? Кто -нибудь знает?

Подробнее здесь: https://stackoverflow.com/questions/795 ... -switchbot
Ответить

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

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

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

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

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