ios刪除所有cookie

來源:互聯網
上載者:User
 
一、刪除所有cookie三句話搞定:
 
NSHTTPCookie *cookie;    NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];    for (cookie in [storage cookies])    {        [storage deleteCookie:cookie];    }    //緩衝web清除    [[NSURLCache sharedURLCache] removeAllCachedResponses];
 
二、儲存cookie
 

在web開發中,我們經常會利用Cookies追蹤記錄一些使用者資訊,比如登陸產生的token,使用者的一些喜好設定等。在iOS中也是一樣,可以利用Cookies記錄使用者的一些選擇或設定,比如:使用者選擇某個感興趣的行業,他希望下次他再次開啟app的時候能夠直接看到該行業相關的資訊,這時候就可以利用Cookies記錄使用者的選擇,如圖:

利用Cookies記錄使用者選擇


industry_cat代表使用者選擇的感興趣的行業,用戶端發出請求的時候會自動將Cookies帶上,這樣做的好處很明顯,不需要介面做額外的改動,譬如增加一個代表行業的欄位。我們只需要保證Cookies存在且它沒有到期。不過這裡要注意和web瀏覽器不一樣的地方是:iOS中,應用退出,會話結束的時候,Cookies是預設被丟棄的,而瀏覽器預設是儲存的。所以我們還需要對Cookies做一些簡單的操作:

NSHTTPCookieStorage* cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];    NSArray<NSHTTPCookie *> *cookies = [cookieStorage cookiesForURL:[NSURL URLWithString:baseUrl]];    NSMutableArray<NSDictionary *> *propertiesList = [[NSMutableArray alloc] init];    [cookies enumerateObjectsUsingBlock:^(NSHTTPCookie * _Nonnull cookie, NSUInteger idx, BOOL * _Nonnull stop) {        NSMutableDictionary *properties = [[cookie properties] mutableCopy];        //將cookie到期時間設定為一年後        NSDate *expiresDate = [NSDate dateWithTimeIntervalSinceNow:3600*24*30*12];        properties[NSHTTPCookieExpires] = expiresDate;        //下面一行是關鍵,刪除Cookies的discard欄位,應用退出,會話結束的時候繼續保留Cookies        [properties removeObjectForKey:NSHTTPCookieDiscard];         //重新設定改動後的Cookies        [cookieStorage setCookie:[NSHTTPCookie cookieWithProperties:properties]];    }];

這樣即達到我們的目的了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.