2014-11-06 18 views

cevap

7

Çalışıyorum.

Alamofire.Manager.sharedInstance.session.configuration.HTTPAdditionalHeaders = ["CustomHeader": customValue] 

Ancak bu her iki -iOS7 & 8 üzerinde çalışacak:

Bu -iOS7 üzerinde bir etkisi yoktur

var headers = Alamofire.Manager.sharedInstance.session.configuration.HTTPAdditionalHeaders ?? [:] 
    headers["CustomHeader"] = customValue 

    let configuration = NSURLSessionConfiguration.defaultSessionConfiguration() 
    configuration.HTTPAdditionalHeaders = headers 

    Alamofire 
     .Manager(configuration: configuration) 
     .request(.GET, "https://example.com/api/users", parameters: nil, encoding: .JSON) 
1

ben ile gelip sonunda, aynı sorunla takılıp kurtlanma çözümü. (! Ben, bu yüzden dikkatli olmak birazcık aslen kütüphane değişti) Hep yöntemi çağırıyordu

:

public func request(method: Method, URLString: URLStringConvertible, parameters: [String: AnyObject]? = nil, encoding: ParameterEncoding = .URL) -> Request 

Ve yönteminin çağrısını fark:

private func URLRequest(method: Method, URL: URLStringConvertible) -> NSURLRequest 

Sadece bu işlevin içinde bir satır kod ekledim:

mutableURLRequest.setValue(valueHeader, forHTTPHeaderField: keyHeader) 

aşağıdakilerle birlikte sonuç (yalnızca açık olmak için):

private func URLRequest(method: Method, URL: URLStringConvertible) -> NSURLRequest { 
    let mutableURLRequest = NSMutableURLRequest(URL: NSURL(string: URL.URLString)!) 
    mutableURLRequest.HTTPMethod = method.rawValue 

    if(contentHeader){ 
     mutableURLRequest.setValue(valueHeader, forHTTPHeaderField: keyHeader!) 
    } 

    return mutableURLRequest 
} 

Ayrıca değerleri iletmek için bir yöntem oluşturdum. Umarim bu,

1

Özel üstbilgileri ayarlamak için NSMutableURLRequest kullanıyorum.

Bu örnekte kontrol edin.

var request = NSMutableURLRequest(URL: NSURL(string: "http://example.com")!) 
request.HTTPMethod = "POST" 
request.setValue("<HEADER VALUE>", forHTTPHeaderField: "<HEADER FIELD>") 

var parameter: NSDictionary = ["dimensions" :["product" : ["name" : "macpro", "price" : "350"]]] 
request.HTTPBody = NSJSONSerialization.dataWithJSONObject(parameter, options: nil, error: nil) 

Alamofire.request(request).response { (request, response, result, error) -> Void in 
       // handle response 
    println("\(request) \t \(response) \t \(result) \t \(error) ") 
} 
-1

Aşağıda iOS 7 ve iOS 8

let URL = NSURL(string: request.url!) 
var mutableURLRequest = NSMutableURLRequest(URL: URL!) 
mutableURLRequest.HTTPMethod = Alamofire.Method.GET.rawValue 

// Adding headers 
var defaultHeaders = Alamofire.Manager.sharedInstance.session.configuration.HTTPAdditionalHeaders ?? [:] 
let configuration = NSURLSessionConfiguration.defaultSessionConfiguration() 
configuration.HTTPAdditionalHeaders = defaultHeaders 

// Adding parameters 
let manager = Alamofire.Manager(configuration: configuration) 
let urlReq = ParameterEncoding.URL.encode(mutableURLRequest, parameters: request.params).0 
aReq = manager.request(urlReq) 
aReq!.responseJSON { (req, response, JSON, error) in } 

için çalışır tam kodudur diğer bilgiler: Alamofire Issues - GitHub

İlgili konular