我有一个浏览器应用程序,用于进入特定网站。
此网站(我不拥有)有一个仅在iOS6中有关的错误。登录网站后,如果您尝试运行该应用并再次登录,则会失败。
在safari中,如果我在第二次尝试之前删除了cookie,它就可以了。但是当我使用UIWebView时,看起来我尝试打印时会删除cookie,但登录仍然失败。
我使用此代码删除Cookie: 的 的
的 NSHTTPCookie *cookie;
NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (cookie in [cookieStorage cookies]) {
[cookieStorage deleteCookie:cookie];
NSLog(@"delete Cookie. Name: %@ : , domain: %@", cookie.name, cookie.domain);
}
的 它不会发生在iOS5上。
有什么想法吗?
答案 0 :(得分:1)
可能是......你不应该删除“for”中的对象。我想有时你会崩溃。 您应该在“for”中标记一些对象并删除对象 例如:
NSMutableArray * arrayObject = [NSMutableArray array];
NSMutableArray * deleteArray = [NSMutableArray array];
for (Someobject *object in arrayObject) {
[deleteArray addObject:object];
}
[arrayObject removeObjectsInArray:deleteArray];
答案 1 :(得分:0)
NSArray *newCookie = [NSArray arrayWithArray:[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]];
for (NSHTTPCookie *cookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]) {
[[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie];
}
for (NSHTTPCookie *cookie in newCookie) {
NSMutableDictionary *properties = [NSMutableDictionary dictionaryWithDictionary:cookie.properties];
[properties removeObjectForKey:NSHTTPCookieExpires];
NSHTTPCookie *changeCookie = [NSHTTPCookie cookieWithProperties:properties];
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:changeCookie];
此代码适用于iOS5& iOS6的。我检查了。我认为问题在于: NSLog 会在最后一个对象中显示什么?
答案 2 :(得分:0)
我用这个:
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().antMatchers("path":);
}