2016-01-26 14 views
21

Yeni Alamofire'a yeni geldim, bu yüzden bu bir noob soru ise üzgünüm: bu çerçeve mağaza otomatik olarak çerezleri? Böyle basit bir isteği var çünkü Alamofire çerezleri otomatik olarak kaydediyor mu?

Bu

geçerli:

Alamofire.request(.POST, loginURL, parameters: ["fb_id": fbId, "fb_access_token": fbToken]) 
     .responseJSON { response in 
      //print(response.request) // original URL request       
      //print(response.response) // URL response 
      //print(response.data)  // server data 
      //print(response.result) // result of response serialization 

      if let JSON = response.result.value { 
       print("loginURL - JSON: \(JSON)") 
      } 
     } 

Güvenlik nedenle diğer istekleri yapmanız gereken bir çerez oturumu ile bu istek yanıtı; garip olan şey, sihir gibi, bu ilk POST'tan sonra diğer istekleri zaten el ile okuyup okumam ve saklayabilmem. Eminim diğer isteklerin çerez oturumuna ihtiyacı vardır, çünkü örneğin postacıda başarısız olurlar ama burada değiller.

Sadece bir özellik mi? Çünkü ben de resmi olarak GitHub page numaralı telefondan bir şey bulamıyorum.

cevap

35

Evet! Alamofire temelde NSURLSession civarında bir sarıcıdır. Yöneticisi, defaultSessionConfiguration() numaralı telefonu arayarak varsayılan NSURLSessionConfiguration kullanır. onun github sayfası olarak

Advanced Usage bölümünde diyor ki:

Alamofire NSURLSession ve Vakıf URL Yükleme Sistemi üzerine kurulu

. Bu çerçeveden en iyi şekilde yararlanmak için, temel ağ yığınının kavramları ve yetenekleri hakkında bilgi sahibi olmanız önerilir.

Ve Manager bölümünde: Alamofire.request gibi

Üst düzey rahatlık yöntemleri varsayılan NSURLSessionConfiguration ile yapılandırılmış Alamofire.Manager, paylaşılan bir örneğini kullanır.

Ve defaultSessionConfiguration() için NSURLSessionConfiguration reference diyor ki:

varsayılan oturum yapılandırma kullanıcının anahtarlıkta ve mağazalar kimlik bilgileri (sonuç bir dosyaya indirildiğinde hariç) kalıcı bir disk tabanlı önbellek kullanır. Ayrıca çerezleri (varsayılan olarak) NSURLConnection ve NSURLDindir sınıflarıyla aynı paylaşılan çerez deposunda saklar.

+0

Teşekkürler :) mükemmel cevap! : D –