2014-02-02 2 views

ответ

8

Да. AFNetworking использует систему загрузки URL-адресов, которая обрабатывает файлы cookie из коробки.

Вы можете настроить NSMutableURLRequest setHTTPShouldHandleCookies и использовать NSHTTPCookieStorage для их хранения.

В Objective-C:

NSArray *cookieStorage = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:url]; 
NSDictionary *cookieHeaders = [NSHTTPCookie requestHeaderFieldsWithCookies:cookieStorage]; 
NSMutableURLRequest *request = [myRequestSerializer requestWith…]; 
for (NSString *key in cookieHeaders) { 
    [request addValue:cookieHeaders[key] forHTTPHeaderField:key]; 
} 

В Swift:

var request = NSMutableURLRequest() // you can use an AFNetworking Request Serializer to create this 

if let cookieStorage = NSHTTPCookieStorage.sharedHTTPCookieStorage().cookiesForURL(url) { 
    for (headerField, cookie) in NSHTTPCookie.requestHeaderFieldsWithCookies(cookieStorage) { 
     request.addValue(cookie, forHTTPHeaderField: headerField) 
    } 
} 
+0

Не могли бы вы указать мне метод * очистить файлы cookie? E.G., начать новую сессию с тем же менеджером? Благодарю. –

Смежные вопросы