Удалено NSHTTPCookie возвращается, если приложение завершено
После использования некоторого кода, чтобы удалить все куки:
NSHTTPCookie *cookie;
NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (cookie in [storage cookies]) {
[storage deleteCookie:cookie];
}
если вы продолжаете использовать приложение в течение определенного периода времени, куки остаются удаленными. однако, если вы немедленно закроете приложение, файлы cookie вернутся. Похоже, что какой-то механизм синхронизации файлов cookie работает недостаточно быстро, но об этом нет упоминания в документах HTTPCookieStore.
Как вы получаете куки, чтобы (надежно) остаться удаленным?
1 ответ
Решение
Я не думаю, что есть способ сделать это. Куки-файлы кэшируются перед отправкой в класс NSHTTPCookie, и то же самое происходит, когда вы удаляете куки-файлы. Классу предписано удалять Cookies при выходе, но не будет, если приложение вылетает, поскольку оно не перехватывает соответствующее событие.