// // WidgetManager.m // OutLive // // Created by AI Assistant on 2025/11/13. // #import "WidgetManager.h" #import "OutLive-Swift.h" @implementation WidgetManager RCT_EXPORT_MODULE(); + (BOOL)requiresMainQueueSetup { return NO; } RCT_EXPORT_METHOD(reloadTimelines:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) { @try { if (@available(iOS 14.0, *)) { // 刷新所有小组件 [WidgetCenterHelper reloadAllTimelinesIfAvailable]; // 也可以只刷新特定的medicine小组件 [WidgetCenterHelper reloadTimelinesIfAvailableOfKind:@"medicine"]; resolve(@"Widget timelines reloaded successfully"); } else { reject(@"IOS_VERSION_ERROR", @"WidgetKit is not available on this iOS version", nil); } } @catch (NSException *exception) { reject(@"RELOAD_TIMELINES_ERROR", exception.reason, nil); } } RCT_EXPORT_METHOD(reloadTimeline:(NSString *)widgetKind resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) { @try { if (@available(iOS 14.0, *)) { [WidgetCenterHelper reloadTimelinesIfAvailableOfKind:widgetKind]; resolve([NSString stringWithFormat:@"Widget timeline reloaded for kind: %@", widgetKind]); } else { reject(@"IOS_VERSION_ERROR", @"WidgetKit is not available on this iOS version", nil); } } @catch (NSException *exception) { reject(@"RELOAD_TIMELINE_ERROR", exception.reason, nil); } } @end