2012-02-17 4 views
2

Привет, мне нужно изменить файл cookie, но я развиваюсь в iOS, кто-то знает, как его изменить. Возможно, в UIWebViewDelegate с webView: shouldStartLoadWithRequest: navigationType: ??Как изменить cookie из NSURLRequest в приложении iOS

+0

Give нас немного подробнее здесь. У вас уже есть куки? Что настраивает cookie? Какие изменения вы должны внести? – Nick

ответ

4

Поскольку WebKit.framework не доступен для IOS, лучший способ, чтобы использовать события в UIWebView shouldStartLoadWithRequest и webViewDidFinishLoad, там я использую класс NSHTTPCookieStorage для печенья и там изменить его, как показано ниже

NSHTTPCookieStorage *sharedHTTPCookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; 
NSArray *cookies = [sharedHTTPCookieStorage cookiesForURL:[NSURL URLWithString:self.webView.request.URL.absoluteString]]; 
NSEnumerator *enumerator = [cookies objectEnumerator]; 
NSHTTPCookie *cookie; 
while (cookie = [enumerator nextObject]) 
{ 
    if ([[cookie name] isEqualToString:key]) 
    { 
     NSString *actcookie = [cookie value]; 
     NSMutableString *newcookiestring = [NSMutableString stringWithFormat:@"%@changes",actcookie]; 
     NSMutableDictionary *propscook = [[NSMutableDictionary alloc] initWithDictionary: [cookie properties]]; 
     [propscook setObject:newcookiestring forKey:NSHTTPCookieValue]; 
     NSHTTPCookie *newcookie = [NSHTTPCookie cookieWithProperties:propscook]; 

     [sharedHTTPCookieStorage setCookie:newcookie]; 

     return [cookie value]; 
    } 
} 
return nil; 
+0

Хорошая работа, спасибо за решение. –

+0

«Профедедады» действительно должны быть «прощупываться», верно? –

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