не удаляет cookie (iphone) - PullRequest
       32

не удаляет cookie (iphone)

0 голосов
/ 21 июля 2011
        NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];

        NSArray *cookies = [storage cookiesForURL:[NSURL URLWithString:@"http://www.facebook.com/"]];
        NSLog(@"old cookies!: %@",cookies);
        NSHTTPCookie *cookie;
        for (cookie in [storage cookies]) {
            [storage deleteCookie:cookie];
        }
        NSLog(@"new cookies!: %@",cookies);

Я пытаюсь удалить файл cookie facebook в функции выхода из системы, но файлы cookie не удалены. Я не понимаю почему. Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 17 июля 2015

Если вы хотите, чтобы ваши изменения в NSHTTPCookieStorage были сохранены, вы также захотите синхронизировать standardUserDefaults после изменения хранилища cookie:

[[NSUserDefaults standardUserDefaults] synchronize];

Чтобы это не замедляло ваше приложение, вы также можетеВы хотите вызвать это в фоновом потоке, например:

dispatch_queue_t backgroundQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0);

dispatch_async(backgroundQueue, ^{
    //TODO: Cookie deletion logic here
});

РЕДАКТИРОВАТЬ:

Если вам просто нужно полностью игнорировать файлы cookie для данного NSURLRequest, вы можете сделать это с помощью:

[request setHTTPShouldHandleCookies:NO];

Где request - это ваш экземпляр NSURLRequest.

...