2012-05-14 9 views
0

NSHTTPCookieStorage에서 쿠키를 가져 와서 내 응용 프로그램 내에서 다른 URL에 사용하려고합니다. NSHTTPCookieStorage에서 쿠키를 복사하고 복사 된 쿠키를 사용하여 NSHTTPCookieStorage에서 다른 URL에 대한 쿠키를 설정합니다. 그러나 나는 다른 URL에 대한 쿠키를 출력 할 때 코드를 따르려고 노력하고있다.NSHTTPCookieStorage에서 쿠키 설정

// authCookie is a cookie already in NSHTTPCookieStorage. 
    NSURL *searchURL = [NSURL URLWithString:searchURLString]; 
    NSDictionary *authCookieProperties = [[[authCookie properties] copy] autorelease]; 
    NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionaryWithDictionary:authCookieProperties]; 

    [cookieProperties setObject:searchURL forKey:NSHTTPCookieDomain]; 
    [cookieProperties setObject:searchURL forKey:NSHTTPCookieOriginURL]; 
    NSHTTPCookie *searchCookie = [NSHTTPCookie cookieWithProperties:cookieProperties]; 
    [sharedHTTPCookieStorage setCookie:searchCookie]; 
    [sharedHTTPCookieStorage setCookies:[NSArray arrayWithObject:searchCookie] 
           forURL:searchURL 
         mainDocumentURL:nil]; 

    NSLog(@"Cookies for search = %@", [sharedHTTPCookieStorage cookiesForURL:searchURL]); 
    NSLog(@"All Cookies = "); 
    NSHTTPCookieStorage *cookieJar = [NSHTTPCookieStorage sharedHTTPCookieStorage]; 
    for (NSHTTPCookie *cookie in [cookieJar cookies]) { 
     NSLog(@"%@", cookie); 
    } 
    /* 
    Console Output (With URL and cookie values hidden): 
    Cookies for search =() 
    All Cookies = 
    <NSHTTPCookie version:0 name:"auth_token" value:"COOKIEVALUE" expiresDate:(null) created:2001-01-01 00:00:01 +0000 (1) sessionOnly:TRUE domain:"<search_url>" path:"/" isSecure:FALSE> 
    <NSHTTPCookie version:0 name:"auth_token" value:"COOKIEVALUE" expiresDate:(null) created:2012-05-14 17:59:36 +0000 (3.58711e+08) sessionOnly:TRUE domain:"<URL_of_auth_cookie>" path:"/" isSecure:FALSE> 
    */ 

답변

0

당신은 애플의 기준에 따라,이 초기화 값이 특정 방법으로 유효하지 않은 경우 nil을 반환하도록되어 있기 때문에 새 쿠키에 제공되는 값이 충분히 좋은 경우에 탭을 유지해야합니다. link 여기에서 더 확인할 수 있습니다. 그것은 처음부터 쿠키를 만드는 오히려 좋은 방법이 있습니다!