2011-07-21 7 views
0
 NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; 

     NSArray *cookies = [storage cookiesForURL:[NSURL URLWithString:@"http://www.facebook.com/"]]; 
     NSLog(@"old cookies!: %@",cookies); 
     NSHTTPCookie *cookie; 
     for (cookie in [storage cookies]) { 
      [storage deleteCookie:cookie]; 
     } 
     NSLog(@"new cookies!: %@",cookies); 

ログアウト機能でFacebookのCookieを削除しようとしていますが、Cookieは削除されていません。私はなぜなのか理解していない。どんな助けでも大歓迎です。クッキーを削除しない(iphone)

+0

whoopsは自分自身の問題を解決しました。クッキーを削除しないので、NSHTTPCookieStorageから削除します。 cookies = [storage cookiesForURL:[NSURL URLWithString:@ "http://www.facebook.com/"]]; それは動作します – James

+0

作業していません! :( –

+0

私はFacebookのクッキーと同じ問題を抱えているので、あなたの解決策を詳しく教えてもらえますか?私がログアウトしたら、すべてのクッキーを削除してから、アプリケーションを再起動します。 – TheBestBigAl

答えて

0

あなたがNSHTTPCookieStorageへの変更を保持したい場合、あなたはまた、Cookieストア変更した後standardUserDefaultsを同期したいと思う:あなたのアプリを減速からこれを防ぐために

[[NSUserDefaults standardUserDefaults] synchronize]; 

を、あなたもよいでしょうそのようにバックグラウンドスレッドでこれを呼び出すには:

dispatch_queue_t backgroundQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0); 

dispatch_async(backgroundQueue, ^{ 
    //TODO: Cookie deletion logic here 
}); 

EDIT:

あなただけの特定のために完全にクッキーを無視する必要がある場合

[request setHTTPShouldHandleCookies:NO]; 

NSURLRequestのインスタンスは、NSURLRequestのインスタンスです。

関連する問題