feat: 完善饮水 widget
This commit is contained in:
46
ios/digitalpilates/WidgetManager.swift
Normal file
46
ios/digitalpilates/WidgetManager.swift
Normal file
@@ -0,0 +1,46 @@
|
||||
//
|
||||
// WidgetManager.swift
|
||||
// digitalpilates
|
||||
//
|
||||
// Native module for managing widget refresh
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import React
|
||||
import WidgetKit
|
||||
|
||||
@objc(WidgetManager)
|
||||
class WidgetManager: NSObject, RCTBridgeModule {
|
||||
|
||||
static func moduleName() -> String! {
|
||||
return "WidgetManager"
|
||||
}
|
||||
|
||||
static func requiresMainQueueSetup() -> Bool {
|
||||
return false
|
||||
}
|
||||
|
||||
@objc
|
||||
func reloadTimelines(_ resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
|
||||
DispatchQueue.main.async {
|
||||
if #available(iOS 14.0, *) {
|
||||
WidgetCenter.shared.reloadTimelines(ofKind: "WaterWidget")
|
||||
resolver(nil)
|
||||
} else {
|
||||
rejecter("UNSUPPORTED", "WidgetKit is only available on iOS 14.0 and later", nil)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@objc
|
||||
func reloadAllTimelines(_ resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
|
||||
DispatchQueue.main.async {
|
||||
if #available(iOS 14.0, *) {
|
||||
WidgetCenter.shared.reloadAllTimelines()
|
||||
resolver(nil)
|
||||
} else {
|
||||
rejecter("UNSUPPORTED", "WidgetKit is only available on iOS 14.0 and later", nil)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user