2016-05-31 3 views
0

NSHTTPCookie를 사용하여 쿠키를 만듭니다. 하지만 만료 날짜를 만들면 생성 날짜로 변환됩니다.NSHTTPCookie : 만료일은 항상 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를 기대하고있다 NSDate' 또는 NSString' 속성을 통해 설정할 때 accepts라고 말합니다. 나는 NSDate를 사용하는 것이 더 낫다는데 동의한다. – trojanfoe

+0

@trojanfoe 예, 당신 말이 맞습니다. NSString을 사용할 수 있습니다. 문제는 NSString의 형식이라고 생각합니다. "2016-06-01 23:50:39 +0000"과 같아야합니다. NSDate를 따르거나 "created"에 대한 값을 살펴보십시오. – riowww

관련 문제