91

私のアプリケーションには、UIWebviewログイン用にリンクされた認証ページをロードするものがあります。ユーザーがログインすると、Cookie がアプリケーションに保存されます。

私のアプリには、リンクされたログインに関連しないログアウト ボタンがあります。ユーザーがこのボタンをクリックすると、アプリからログオフします。このログオフにより、リンクされた Cookie もアプリからクリアされ、ユーザーが完全にログアウトするようになります。

4

5 に答える 5

210

この質問によると、「Cookie Jar」内の各 Cookie を調べて、次のように削除できます。

NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie *cookie in [storage cookies]) {
   [storage deleteCookie:cookie];
}
[[NSUserDefaults standardUserDefaults] synchronize];
于 2010-12-17T15:03:08.900 に答える
8

これに関する情報を追加したかっただけです。

OS X 10.9 / iOS 7以降では、 -resetWithCompletionHandler: を使用し、アプリ全体の Cookie やキャッシュなどを次のようにクリアできますsharedSession

すべての Cookie、キャッシュ、および資格情報ストアを空にし、ディスク ファイルを削除し、進行中のダウンロードをディスクにフラッシュし、今後の要求が新しいソケットで発生するようにします。

[[NSURLSession sharedSession] resetWithCompletionHandler:^{
    // Do something once it's done.
}];

for-In ループ、コレクションの列挙中に変更するようにdeleteCookie:聞こえます。(わからない、悪い考えかもしれませんか?)

于 2016-04-05T11:06:10.370 に答える
1

WebView の html 内に、Cookie を消去する関数を作成できます。

クリーニングを 1 回だけ実行する必要がある場合は、アプリの起動時にのみ、Titanium イベントでこの関数をトリガーできます。

于 2012-04-21T11:48:32.833 に答える