@@ -62,9 +62,8 @@ - (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result {
6262 [self stopLoading ];
6363 result (nil );
6464 } else if ([@" cleanCookies" isEqualToString: call.method]) {
65- [[NSURLSession sharedSession ] resetWithCompletionHandler: ^{
66- result (nil );
67- }];
65+ [self cleanCookies ];
66+ result (nil );
6867 } else if ([@" back" isEqualToString: call.method]) {
6968 [self back ];
7069 result (nil );
@@ -105,17 +104,10 @@ - (void)initWebview:(FlutterMethodCall*)call {
105104 }
106105
107106 if (clearCookies != (id )[NSNull null ] && [clearCookies boolValue ]) {
108- if (@available (iOS 9.0 , *)) {
109- NSSet *websiteDataTypes
110- = [NSSet setWithArray: @[
111- WKWebsiteDataTypeCookies ,
112- ]];
113- NSDate *dateFrom = [NSDate dateWithTimeIntervalSince1970: 0 ];
114-
115- [[WKWebsiteDataStore defaultDataStore ] removeDataOfTypes: websiteDataTypes modifiedSince: dateFrom completionHandler: ^{
116- }];
117- } else {
118- // Fallback on earlier versions
107+ NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage ];
108+ for (NSHTTPCookie *cookie in [storage cookies ])
109+ {
110+ [storage deleteCookie: cookie];
119111 }
120112 }
121113
@@ -259,6 +251,17 @@ - (void)reloadUrl:(FlutterMethodCall*)call {
259251 [self .webview loadRequest: request];
260252 }
261253}
254+
255+ - (void )cleanCookies {
256+ if (self.webview != nil ) {
257+ NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage ];
258+ for (NSHTTPCookie *cookie in [storage cookies ])
259+ {
260+ [storage deleteCookie: cookie];
261+ }
262+ }
263+ }
264+
262265- (void )show {
263266 if (self.webview != nil ) {
264267 self.webview .hidden = false ;
0 commit comments