ios - How to delete WKWebview cookies -
for doing this
nshttpcookie *cookie; nshttpcookiestorage *storage = [nshttpcookiestorage sharedhttpcookiestorage]; (cookie in [storage cookies]) { [storage deletecookie:cookie]; }
but not working on ios 8, 64-bit device.
any other way clean cookies of wkwebview? appreciated. thanks.
apple released new apis ios 9, can remove domain specific cookies stored wkwebview below code, work on devices ios version 9 or later:
wkwebsitedatastore *datestore = [wkwebsitedatastore defaultdatastore]; [datestore fetchdatarecordsoftypes:[wkwebsitedatastore allwebsitedatatypes] completionhandler:^(nsarray<wkwebsitedatarecord *> * __nonnull records) { (wkwebsitedatarecord *record in records) { if ( [record.displayname containsstring:@"facebook"]) { [[wkwebsitedatastore defaultdatastore] removedataoftypes:record.datatypes fordatarecords:@[record] completionhandler:^{ nslog(@"cookies %@ deleted successfully",record.displayname); }]; } } }];
above snippet sure work ios 9 , later. unfortunately if use wkwebview ios versions before ios 9, still have stick traditional method , delete whole cookies storage below.
nsstring *librarypath = [nssearchpathfordirectoriesindomains(nslibrarydirectory, nsuserdomainmask, yes) objectatindex:0]; nsstring *cookiesfolderpath = [librarypath stringbyappendingstring:@"/cookies"]; nserror *errors; [[nsfilemanager defaultmanager] removeitematpath:cookiesfolderpath error:&errors];
Comments
Post a Comment