2014-06-19 10 views
4

NSHTTPCookie을 설정하고 싶습니다. 아래 그림과 같이 수동으로 NSHTTPCookieExpires 설정

은 그 일을 위해, 나는 NSHTTPCookieStorage에 추가 쿠키 &를 만드는 오전 : - NSHTTPCookie 세트

NSDictionary *propertiesDevice = [NSDictionary dictionaryWithObjectsAndKeys: 
            @"http://www.sample.com/", NSHTTPCookieDomain, 
            @"/", NSHTTPCookiePath, 
            @"someCookieName", NSHTTPCookieName, 
            @"myCookieValue", NSHTTPCookieValue, 
            timeStamp,NSHTTPCookieExpires,nil]; 
NSHTTPCookie *cookieDevice = [NSHTTPCookie cookieWithProperties:propertiesDevice]; 
[[NSHTTPCookieStorage sharedHTTPCookieStorage]setCookie:cookieDevice]; 

모든 속성을 따로 NSHTTPCookieExpires에서 예상대로.

  1. [NSDate date]을 전달하면 값이 설정됩니다. 그러나 문제는 NSHTTPCookie 형식이 Expires=Tue, 15-Jan-2013 21:47:38 GMT 인 것은 아닙니다. [NSDate date]의 형식은 2014-06-19 12:04:00 +0000입니다.
  2. NSDateFormatter을 사용하여 NSDate의 형식을 변경하려고하면 출력은 NSString입니다.
  3. NSString 키를 NSHTTPCookieExpires 키로 설정해도 문제가되지 않으므로 null 값이됩니다.

는 문서에이 NSHTTPCookieExpiresNSString 또는 NSDate 소요 말한다 비록.

From Apple Doc:- 

    <td>NSHTTPCookieExpires</td> 
    <td>NSDate or NSString</td> 
    <td>NO</td> 
    <td>Expiration date for the cookie. Used only for version 0 
    cookies. Ignored for version 1 or greater.</td> 

사람이 우리가 키 NSHTTPCookieExpires에 대한 NSString 값을 설정할 수없는 이유에 어떤 생각을 가지고 있습니까?

답변