Очистить куки iPhone симулятор - PullRequest
6 голосов
/ 13 декабря 2010

У меня есть приложение, которое отправляет запрос на REST услугу. Аутентификация осуществляется с помощью куки. Это уже работает.

У меня проблемы с тем, чтобы проверить случай, когда cookie больше не действителен, и мой код должен повторно аутентифицироваться. Чтобы проверить это, я должен подождать, пока файл cookie окажется недействительным, что может занять некоторое время. Чтобы ускорить это, я решил, что, если я удалю куки, он будет иметь тот же эффект.

Как удалить все файлы cookie приложения на симуляторе iPhone?

Я уже попробовал следующее:

Удаление /Library/Cookies/Cookies.binarycookies не работает. Кажется, мои куки никогда не записываются в этот файл.

Удаление всех файлов cookie в NSHTTPCookieStorage при запуске приложения также не работает.

Ответы [ 6 ]

22 голосов
/ 13 декабря 2010

ВЫ МОЖЕТЕ СБРОСИТЬ ИМИТАТОР

  • Запустите симулятор.
  • Нажмите на ПЕРВЫЙ пункт в «строке меню». Там написано "iOS Simulator"
  • Появится меню. Перейдите вниз на три пункта «Сбросить содержимое и настройки»
  • Нажмите «Сброс» в появившемся диалоговом окне.

iPhone Simulator Reset Cookies

13 голосов
/ 13 декабря 2010

Возможно, вам больше повезет, если вы сделаете это в коде SDK, а не в модификации файловых систем.Попробуйте:

    //Delete previous cookies
    NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
    for (NSHTTPCookie *each in [[[cookieStorage cookiesForURL:YOUR_URL] copy] autorelease]) {
        [cookieStorage deleteCookie:each];
    }
8 голосов
/ 13 декабря 2010

Файлы cookie находятся по адресу:

/Users/<YourUsername>/Library/Application Support/iPhone Simulator/<iOSversion>/Library/Cookies/Cookies.binarycookies

Вам может потребоваться выйти из Safari (в области быстрого переключения приложений) и затем удалить их, чтобы Safari не поместил их в память.

2 голосов
/ 03 марта 2012

Я только что использовал fseventer , чтобы проверить, что происходит с файловой системой iPhone Simulator при нажатии кнопки «Очистить файлы cookie и данные». Эти команды повторяют это поведение, однако есть хитрость:

rm -rf "$HOME/Library/Application Support/iPhone Simulator/5.0/Library/Cookies"
rm -rf "$HOME/Library/Application Support/iPhone Simulator/5.0/Library/Caches/Snapshots"
rm -rf "$HOME/Library/Application Support/iPhone Simulator/5.0/Library/Caches/com.apple.mobilesafari"
rm -rf "$HOME/Library/Application Support/iPhone Simulator/5.0/Library/WebKit"
rm -rf "$HOME/Library/Application Support/iPhone Simulator/5.0/Library/Safari"

Симулятор необходимо перезапустить . Итак, перед манипулированием файловой системой, я запускаю это:

killall "iPhone Simulator"
0 голосов
/ 13 декабря 2010

Вы можете перейти на домашний экран, а затем приложение настроек. Нажмите Safari, затем прокрутите вниз до «Очистить куки». Я не уверен, где файл cookie находится в файловой системе, где-то в /Developer/Platforms/iPhoneSimulator.platform Я ожидал бы (см. Ответ Мэтью Фредерика).

0 голосов
/ 13 декабря 2010

Почему бы не принудительно ограничить срок действия файла cookie для тестирования?

Это точно то же самое.

...