从MacOS 10.10和iOS 8.0开始,有NSHTTPCookieStorage
的这种新方法。从数量微不足道的谷歌搜索中猜测,没有人注意到它。不是那么令人惊讶,因为它还没有在Apple开发门户网站文档中,只是在标题中。但我仍然希望有人知道如何使用它,因为我没有:)我正在尝试使用它清除所有cookie而不是令人尴尬的cookie jar迭代。所以我用
[NSDate dateWithTimeIntervalSince1970:0]
在EXC_BAD_ACCESS
中和BOOM,MemoryCookies::visitCookies
。 Ok UN * X epoch太可能了。所以我试过
[NSDate dateWithTimeIntervalSinceNow:-86400];
和BOOM再次。所以我继续划分间隔,发现它确实至少需要一个至少与date
参数一样的cookie。所以你必须迭代cookie才能找到最老的,然后调用新的闪亮方法。这是非常不切实际的,我甚至敢把它称为一个错误。
思想?
答案 0 :(得分:4)
我认为这是所有iOS 8版本中的错误。我能够在iOS 8.3中触发此错误。我决定手动删除cookie,如下所示:
NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
for (NSHTTPCookie *cookie in cookies) {
[[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie];
}
答案 1 :(得分:3)
至少从iOS 8.1开始按预期工作,即无论年龄大小都会移除cookie并且不会崩溃。有趣的是,它仍然只在the headers中,但在iOS的Cocoa引用中却没有OSX。可能还有NSHTTPCookieStorage
仍处于开发阶段的API和#34;从iOS 2.0开始。
<强>更新强> 现在也在 Cocoa reference docs
中