6

RESTサービスにリクエストを行うアプリがあります。認証は Cookie を使用して行われます。これはすでに機能しています。

私が問題を抱えているのは、Cookie が無効になり、コードを再認証する必要がある場合をテストすることです。これをテストするには、Cookie が無効になるまで待つ必要があります。これには時間がかかる場合があります。これを加速するために、Cookie を削除しても同じ効果があると考えました。

iPhoneシミュレーターでアプリのすべてのCookieを削除するには?

私はすでに次のことを試しました:

<app-dir>/Library/Cookies/Cookies.binarycookies を削除しても機能しません。私の Cookie がこのファイルに書き込まれることはないようです。

アプリの起動時に NSHTTPCookieStorage のすべての Cookie を削除しても機能しません。

4

6 に答える 6

22

シミュレーターをリセットできます

  • シミュレーターを起動します。
  • 「メニューバー」の最初の項目をクリックします。「iOSシミュレーター」と表示されます
  • メニューが表示されます。「コンテンツと設定のリセット」への 3 つの項目を下に移動します。
  • 表示されるダイアログで「リセット」をクリックします

iPhone シミュレーター Cookie のリセット

于 2010-12-13T09:12:23.243 に答える
14

おそらく、ファイル システムを変更するよりも、SDK コードでこれを行うほうがうまくいくでしょう。試す:

    //Delete previous cookies
    NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
    for (NSHTTPCookie *each in [[[cookieStorage cookiesForURL:YOUR_URL] copy] autorelease]) {
        [cookieStorage deleteCookie:each];
    }
于 2010-12-13T13:29:34.133 に答える
9

Cookie は次の場所にあります。

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

Safari を (アプリの高速切り替え領域で) 終了してから、削除する必要がある場合があります。これにより、Safari がそれらをメモリに保持しなくなります。

于 2010-12-13T09:14:17.847 に答える
2

fseventerを使用して、[Cookie とデータを消去] ボタンがタップされたときに iPhone シミュレータ ファイルシステムがどうなるかを調べました。これらのコマンドはその動作を再現しますが、トリックがあります。

rm -rf "$HOME/Library/Application Support/iPhone Simulator/5.0/Library/Cookies"
rm -rf "$HOME/Library/Application Support/iPhone Simulator/5.0/Library/Caches/Snapshots"
rm -rf "$HOME/Library/Application Support/iPhone Simulator/5.0/Library/Caches/com.apple.mobilesafari"
rm -rf "$HOME/Library/Application Support/iPhone Simulator/5.0/Library/WebKit"
rm -rf "$HOME/Library/Application Support/iPhone Simulator/5.0/Library/Safari"

シミュレータを再起動する必要があります。したがって、ファイルシステムを操作する前に、これを実行します。

killall "iPhone Simulator"
于 2012-03-03T00:50:39.490 に答える
0

You can go to the home screen, then the settings app. Tap Safari, then scroll down to Clear Cookies. I'm not sure where the cookie file is on the filesystem, somewhere under /Developer/Platforms/iPhoneSimulator.platform I'd expect (see Matthew Frederick's answer).

于 2010-12-13T09:06:58.873 に答える
-1

テストのために Cookie の有効期限を強制的に低い値にしないのはなぜですか?

その時は全く同じです。

于 2010-12-13T09:01:07.883 に答える