2016-05-31 22 views
0

NSHTTPCookieを使用してクッキーを作成しています。しかし、作成時に有効期限が作成日に変換されています。ここに私のコードは次のとおりです。NSHTTPCookie:expiresDateは常にnullです

コンソール出力毎
NSMutableDictionary *cProperties = [NSMutableDictionary dictionary]; 

    [cProperties setObject:@"31 May 2016 17:04:14 GMT" forKey:NSHTTPCookieExpires]; 
    NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:]; 
    [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie]; 

<NSHTTPCookie version:0 name:"myCookie" 
expiresDate:(null) created:2016-05-31 16:32:37 +0000 
sessionOnly:TRUE path:"/" isSecure:TRUE> 

私expiresDateが作成した日付とスイッチを取得しているなぜあなたのどれもが知っていますか?

本当にありがとうございます。

答えて

2

プロパティをクッキーに渡していません。あなたが欲しい:

NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cProperties]; 
                  ^^^^^^^^^^^ 

はまた、それが NSStringの代わりに NSDateオブジェクトを使用して、日付/時間を満了し設定する方が簡単でしょう。

0

NSHTTPCookieExpiresは だからあなたがキーNSHTTPCookieExpires

+0

[ドキュメント](https://developer.apple.com/を設定するなど、[NSDate dateWithTimeIntervalSinceNow:60*60]をNSDate型の値を使用する必要がApple's documentに基づいて、値型としてNSDateを期待しています/ NSHTTPCookie_Class /#// apple_ref/doc/constant_group/HTTP_Cookie_Attribute_Keys)は、プロパティを介して設定されたときにNSDateまたはNSStringのいずれかを受け入れると言います。私は 'NSDate'を使う方が良いことに同意します。 – trojanfoe

+0

@trojanfoeはい、あなたは正しいです。 NSStringは受け入れられます。私は問題がNSStringの形式だと思う、 "2016-06-01 23:50:39 +0000"のようなものでなければならない、NSDateに従うか、 "created" – riowww

関連する問題