diff --git a/ios/Classes/SwiftFlutterWidgetkitPlugin.swift b/ios/Classes/SwiftFlutterWidgetkitPlugin.swift index ed24011..7fba277 100644 --- a/ios/Classes/SwiftFlutterWidgetkitPlugin.swift +++ b/ios/Classes/SwiftFlutterWidgetkitPlugin.swift @@ -80,8 +80,30 @@ public class SwiftFlutterWidgetkitPlugin: NSObject, FlutterPlugin { result(nil); return; + } else if(call.method == "removeItem") { + if let args = call.arguments as? [String: Any], + let appGroup = args["appGroup"] as? String, + let key = args["key"] as? String { + + var sharedDefaults: UserDefaults? = nil + + if(appGroup != "") { + sharedDefaults = UserDefaults.init(suiteName: appGroup) + } + + if(sharedDefaults == nil) { + result(nil) + return + } + + sharedDefaults?.removeObject(forKey: key) + + result(true) + return + } } result(FlutterMethodNotImplemented); } } + diff --git a/lib/flutter_widgetkit.dart b/lib/flutter_widgetkit.dart index 6e8e5fb..835ebf2 100644 --- a/lib/flutter_widgetkit.dart +++ b/lib/flutter_widgetkit.dart @@ -27,4 +27,8 @@ class WidgetKit { static dynamic setItem(String key, dynamic value, String appGroup) async { return await _channel.invokeMethod('setItem', {'key': key, 'value': value, 'appGroup': appGroup}); } + + static Future removeItem(String key, String appGroup) async { + return await _channel.invokeMethod('removeItem', {'key': key, 'appGroup': appGroup}); + } }