2010-12-13 20 views
6

私はRESTサービスにリクエストするアプリを持っています。認証はクッキーを使用して行われます。これはすでに動作します。iPhoneシミュレータクッキーをクリア

私が問題を抱えるのは、クッキーが有効でなくなり、コードが再認証されなければならない場合です。これをテストするには、Cookieが無効になるまで待たなければなりません。時間がかかることがあります。これを加速するために、私はクッキーを削除すると同じ効果があると考えました。

iPhoneシミュレータでアプリのすべてのCookieを削除するにはどうすればよいですか?

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

は動作しません<アプリ-dir>は/Library/Cookies/Cookies.binarycookiesを削除します。私のクッキーは決してこのファイルに書き込まれていないようです。

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

+0

あなたのために動作しませんシミュレータをリセットし、いくつかの理由がありますか? – aepryus

答えて

8

クッキーを表示されたダイアログの "リセット":

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

Safariを(高速アプリケーションの切り替え領域で)終了してから削除する必要があるかもしれません。そうすれば、Safariはそれらをメモリに保存しません。

+0

これは4.xより前のSDKでのみ動作するように見えました。私はそのファイルを持っていますが、春から更新されていません。 – sliver

+0

ええと、私はあなたが意味するものを参照してください。それは奇妙です。私は編集します。 –

+2

Cookie/Cookies.binarycookiesを削除することは間違いなく私にとってはうまくいきます。 –

-1

テストでクッキーの有効期限を強制的に低い値に設定しないのはなぜですか?

これはまったく同じです。

0

あなたはホーム画面に行き、次に設定アプリに行くことができます。 Safariをタップし、下にスクロールしてCookieを消去します。私はクッキーファイルがファイルシステム上のどこにあるのか分かりません。 /Developer/Platforms/iPhoneSimulator.platformのどこかで私はと思っています(Matthew Frederickの答えを見てください)。

+0

これは私の考えでもありましたが、実際に行ったときにクッキーをクリアするようには見えません。 –

22

YOUはSIMULATOR

  • 起動シミュレータをリセットすることができます。
  • 「メニューバー」の最初の項目をクリックします。 「iOS Simulator」と表示されます
  • メニューが表示されます。 "コンテンツと設定をリセット" するための3つの項目を下に移動します
  • クリックに位置している

iPhone Simulator Reset Cookies

+0

これをリセットするのは、シミュレータ内の他のすべてのものをリセットしない限り、最も簡単なルートです。 –

+0

これはオプションではありません。残りのコンテンツを削除する必要があります。私はリセット後にそれをコピーすることができますが。 – sliver

+0

いいえテストに必要なユーザーデータを保存するさまざまなファイル(例:sqlite dbs)があります。 – sliver

13

ファイルシステムを変更するのではなく、SDKコードでこれを行うほうがよいでしょう。 試してください:私はちょうど「Cookieとデータ」ボタンをタップするとiPhoneシミュレータのファイルシステムに何が起こるかを検査するfseventerを使用

//Delete previous cookies 
    NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; 
    for (NSHTTPCookie *each in [[[cookieStorage cookiesForURL:YOUR_URL] copy] autorelease]) { 
     [cookieStorage deleteCookie:each]; 
    } 
+0

良い!すべての私の問題を解決しました –

+0

魅力のように動作します。あなたは私の日を救う! –

+0

しかし、それはinstagramの問題を解決することができません – jpd

2

。を再起動する必要があります

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" 
関連する問題