Где хранятся cookies UIWebView?

Я создаю приложение iPhone с куки-файлами. Удаление файлов cookie в настройках Safari не удаляет их. Где они хранятся? Можно ли читать их из другого UIWebView?

Благодаря!

У вашего приложения есть свой «кувшин cookie» в контейнере [NSHTTPCookieStorage sharedHTTPCookieStorage] .

Вот как вы можете быстро просмотреть cookies в банке cookie вашего приложения:

 NSHTTPCookie *cookie; NSHTTPCookieStorage *cookieJar = [NSHTTPCookieStorage sharedHTTPCookieStorage]; for (cookie in [cookieJar cookies]) { NSLog(@"%@", cookie); } 

Для фильтрации и манипулирования доступны несколько методов. Взгляните на документацию NSHTTPCookieStorage для доступа к куки-файлам и документацию NSHTTPCookie для доступа к отдельным свойствам cookie.

Спасибо за указатель Алекс! Чтобы добавить к этому, я загляжу в свой «кустовый кузнец», который я создал с помощью примера Алекса. Может быть, это поможет кому-то другому.

 - (void) dumpCookies:(NSString *)msgOrNil { NSMutableString *cookieDescs = [[[NSMutableString alloc] init] autorelease]; NSHTTPCookie *cookie; NSHTTPCookieStorage *cookieJar = [NSHTTPCookieStorage sharedHTTPCookieStorage]; for (cookie in [cookieJar cookies]) { [cookieDescs appendString:[self cookieDescription:cookie]]; } NSLog(@"------ [Cookie Dump: %@] ---------\n%@", msgOrNil, cookieDescs); NSLog(@"----------------------------------"); } - (NSString *) cookieDescription:(NSHTTPCookie *)cookie { NSMutableString *cDesc = [[[NSMutableString alloc] init] autorelease]; [cDesc appendString:@"[NSHTTPCookie]\n"]; [cDesc appendFormat:@" name = %@\n", [[cookie name] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; [cDesc appendFormat:@" value = %@\n", [[cookie value] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; [cDesc appendFormat:@" domain = %@\n", [cookie domain]]; [cDesc appendFormat:@" path = %@\n", [cookie path]]; [cDesc appendFormat:@" expiresDate = %@\n", [cookie expiresDate]]; [cDesc appendFormat:@" sessionOnly = %d\n", [cookie isSessionOnly]]; [cDesc appendFormat:@" secure = %d\n", [cookie isSecure]]; [cDesc appendFormat:@" comment = %@\n", [cookie comment]]; [cDesc appendFormat:@" commentURL = %@\n", [cookie commentURL]]; [cDesc appendFormat:@" version = %d\n", [cookie version]]; // [cDesc appendFormat:@" portList = %@\n", [cookie portList]]; // [cDesc appendFormat:@" properties = %@\n", [cookie properties]]; return cDesc; } 

У Алексея было отличное представление о том, чтобы поместить это в категорию. Вот что я в итоге использовал:

NSHTTPCookieStorage + Info.h

 #import  @interface NSHTTPCookieStorage (Info) + (NSDictionary*) describeCookies; + (NSDictionary *) describeCookie:(NSHTTPCookie *)cookie; @end 

NSHTTPCookieStorage.m

 @implementation NSHTTPCookieStorage (Info) + (NSDictionary*) describeCookies { NSMutableDictionary *descriptions = [NSMutableDictionary new]; [[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies] enumerateObjectsUsingBlock:^(NSHTTPCookie* obj, NSUInteger idx, BOOL *stop) { [descriptions setObject:[[self class] describeCookie:obj] forKey:[[obj name] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; }]; NSLog(@"Cookies:\n\n%@", descriptions); return descriptions; } + (NSDictionary *) describeCookie:(NSHTTPCookie *)cookie { return @{@"value" : [[cookie value] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding], @"domain" : [cookie domain] ? [cookie domain] : @"n/a", @"path" : [cookie path] ? [cookie path] : @"n/a", @"expiresDate" : [cookie expiresDate] ? [cookie expiresDate] : @"n/a", @"sessionOnly" : [cookie isSessionOnly] ? @1 : @0, @"secure" : [cookie isSecure] ? @1 : @0, @"comment" : [cookie comment] ? [cookie comment] : @"n/a", @"commentURL" : [cookie commentURL] ? [cookie commentURL] : @"n/a", @"version" : @([cookie version]) }; } @end 

Делает вывод немного более «JSON-y» …

  • Как уменьшить размер моего приложения iPhone?
  • Как resize изображения программно в объективе-c в iphone
  • создать подclass uibutton
  • Как вставить символ utf-8 mb4 (emoji в ios5) в mysql?
  • Как найти размер файла перед загрузкой его в iOS 7?
  • Как добавить UIView над текущим UITableViewController
  • IPhone, iPad и эмулятор BlackBerry для Windows
  • Xcode 4 - ошибка «Недействительность подлинного подписи не найдена» при настройке профилей при установке нового Macintosh
  • Как сделать снимок экрана программно
  • Как распознать салфетки во всех четырех направлениях?
  • Какую мобильную платформу я должен начать изучать?
  • Давайте будем гением компьютера.