清除iPhone模拟器cookie

sli*_*ver 6 iphone nshttpcookie

我有一个应用程序,它向REST服务发出请求.使用cookie完成身份验证.这已经有效了.

我遇到的问题是在cookie不再有效且我的代码必须重新验证时测试案例.为了测试这个,我必须等到cookie无效,这可能需要一些时间.为了加速这一点,我想如果我删除cookie它将具有相同的效果.

如何在iPhone模拟器上删除应用程序的所有cookie?

我已经尝试过以下方法:

删除<app-dir> /Library/Cookies/Cookies.binarycookies不起作用.似乎我的cookie永远不会写入此文件.

在应用启动时删除NSHTTPCookieStorage中的所有cookie也不起作用.

Fat*_*tie 22

你可以重置模拟器

  • 启动模拟器.
  • 单击"菜单栏"上的第一个项目.它说"iOS模拟器"
  • 将出现一个菜单.将三个项目下移到"重置内容和设置"
  • 在出现的对话框中单击"重置"

iPhone模拟器重置Cookie


she*_*ein 13

您可能会在SDK代码中找到更好的运气,而不是修改文件系统.尝试:

    //Delete previous cookies
    NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
    for (NSHTTPCookie *each in [[[cookieStorage cookiesForURL:YOUR_URL] copy] autorelease]) {
        [cookieStorage deleteCookie:each];
    }
Run Code Online (Sandbox Code Playgroud)


Mat*_*ick 8

Cookie位于:

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

您可能需要退出Safari(在快速应用程序切换区域中),然后将其删除,以便Safari不会将它们存储在内存中.

  • @modiX这个回答是从2010年开始的.自那以后_lot_已经发生了变化.*重置模拟器可能是你最好的选择*.如果你需要在保留其他东西的同时删除单个cookie,你应该能够在`Library/Developer/CoreSimulator/Devices/DEVICEIDENTIFIERHERE/data/Library/Cookies`中找到它们.将"DEVICEIDENTIFIERHERE"替换为该设备的37个字符的UUID目录名称.如果您只是在Finder中按"修改日期"排序,您将能够找到正确的一个. (3认同)
  • 删除Cookies/Cookies.binarycookies绝对适合我,上面. (2认同)