2012-05-14 4 views
0

Я пытаюсь взять файл cookie из NSHTTPCookieStorage и использовать его для другого URL-адреса в моем приложении. Я копирую файл cookie из NSHTTPCookieStorage, а затем устанавливаю cookie для другого URL-адреса в NSHTTPCookieStorage, используя скопированный файл cookie. Я пытаюсь выполнить код, однако, когда я печатаю файлы cookie для другого URL-адреса, их нет.Настройка cookie в 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

Вы должны сохранить закладку, если значения, которые вы предоставляете в новом печенье достаточно хорошо, потому что в соответствии с ссылкой Apple, она должна возвращать ноль, если инициализация значения являются недействительными в любом определенным образом. Здесь вы можете узнать об этом здесь link. У этого есть довольно хороший способ создания cookie с нуля!