iOSアプリケーションでNSHTTPCookieStorage
を使用してURLから取得したCookieを管理する予定です。アプリケーションの実行時にCookieを管理することを理解しています。しかし、アプリケーション終了後にクッキーを保持することが可能かどうかは疑問でした。そして、アプリが再び開かれたら、それらのクッキーをもう一度読んでください。 NSHTTPCookieStorage
はアプリケーション間でクッキーを使用していますか?または、アプリケーションランタイムの間だけ?これらのCookieを保持するには、CoreData
を使用する必要がありますか?iOSアプリケーションでのCookieの永続化
50
A
答えて
44
アプリが読み込まれたときにCookieを再設定する必要があります。私はこのようなコードを使用しています:
NSData *cookiesdata = [[NSUserDefaults standardUserDefaults] objectForKey:@"MySavedCookies"];
if([cookiesdata length]) {
NSArray *cookies = [NSKeyedUnarchiver unarchiveObjectWithData:cookiesdata];
NSHTTPCookie *cookie;
for (cookie in cookies) {
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
}
}
これはうまく動作します。
103
他の回答に示唆されているように、クッキーを自分自身で維持する必要はありません。 NSHTTPCookieStorage
はあなたのためにクッキーを保持しますが、クッキーの有効期限がサーバ側で設定されていることを確認する必要があります。
有効期限のないCookieは「セッションのみ」とみなされ、アプリを再起動すると消去されます。 「セッションのみ」の状況は、BOOLプロパティNSHTTPCookie
で確認できます。これは標準的なCookieであり、iOS固有のものではありません。
関連する問題
- 1. iOS向け永続アプリケーション
- 2. MVCでCookieが永続化されていない
- 3. iPhoneのWebビューのCookieの永続性
- 4. GUIDと永続的なCookieのmd5ハッシュ
- 5. iOSアプリケーションとRails Webサービスとの永続的な接続
- 6. iOS永続ストアの問題
- 7. PythonセッションCookieが永続しない
- 8. Netbeansの/永続化APIエラー
- 9. オブジェクトの永続化を
- 10. Orbeon:Oracleの永続化層
- 11. WCFワークフローサービスの永続化の有効化
- 12. Rubyでのツリーデータ構造の永続化
- 13. レールでのmemcacheセッションの永続化
- 14. ASP.NETのポストバック間でデータの永続化
- 15. iOS永続ストレージ戦略
- 16. TempData 1つのページに永続的に永続化する
- 17. CodeIgniterのモデルでテーブル名を永続化
- 18. 私のアプリケーションを永続化する方法
- 19. AsyncStorageで永続的なアプリケーション状態をインスタンス化します。
- 20. iOS 6の永続ストレージ(WebSQLとローカルストレージ)PhoneGap
- 21. .NETのセッションとユーザーのCookie永続的な認証
- 22. カスタムオブジェクトを永続化する
- 23. iOS 5で明るさの変更を永続化する方法は?
- 24. ASP .NETのテーブルデータの永続化
- 25. MVC - リクエスト間のビューモデルデータの永続化
- 26. Appが削除されたときのiOSアプリケーションのデータの永続化はどうなりますか?
- 27. ストーリーボードベースのiosアプリケーションで永続するツールバーを定義する方法は?
- 28. 私のアプリケーション設定が永続化しないのはなぜですか?
- 29. Json.NETとNHibernate - 永続オブジェクトの逆シリアル化
- 30. Sklearn - pklファイルのない永続化
「MySavedCookies」は既にそこにありますか?それとも、私のアプリが非アクティブになるのを待たなければならないのですか? – Alex
あなたは自分でそれを保存する必要があります - それは私が私のものを保存する場所です。 – Magnus
ユーザーのデフォルトでクッキーを保存することは、iFunBoxなどのツールを使ってすべてのplistにアクセスできるため、セキュリティ上の欠陥になる可能性があります。 これらは暗号化する必要がありますが、最良の動作は@gazreeseの回答に従うことです。 –