Ios7 在iOS 7中的Alamofire中设置自定义HTTP头不起作用

Ios7 在iOS 7中的Alamofire中设置自定义HTTP头不起作用,ios7,swift,http-headers,ios8,alamofire,Ios7,Swift,Http Headers,Ios8,Alamofire,我曾尝试在iOS 7中使用我的自定义HTTP头设置Alamofire.Manager.sharedInstance.session.configuration.HTTPAdditionalHeaders,但没有成功 这在iOS 8中运行良好 有人有什么建议吗?我有办法了 这对iOS7没有影响: Alamofire.Manager.sharedInstance.session.configuration.HTTPAdditionalHeaders = ["CustomHeader": custom

我曾尝试在iOS 7中使用我的自定义HTTP头设置
Alamofire.Manager.sharedInstance.session.configuration.HTTPAdditionalHeaders
,但没有成功

这在iOS 8中运行良好

有人有什么建议吗?

我有办法了

这对iOS7没有影响:

Alamofire.Manager.sharedInstance.session.configuration.HTTPAdditionalHeaders = ["CustomHeader": customValue]
但是,这将适用于iOS7和IOS8:

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)

我也遇到了同样的问题,最后我提出了wolfing解决方案。 (原来的图书馆我改了一点,小心点!)

我一直在调用该方法:

public func request(method: Method, URLString: URLStringConvertible, parameters: [String: AnyObject]? = nil, encoding: ParameterEncoding = .URL) -> Request
我注意到对该方法的调用:

private func URLRequest(method: Method, URL: URLStringConvertible) -> NSURLRequest
就在这个函数中,我插入了一行代码:

mutableURLRequest.setValue(valueHeader, forHTTPHeaderField: keyHeader)
结果如下(为了清楚起见):

我还创建了一个传递值的方法。
我希望这能起作用

我正在使用NSMutableURLRequest设置自定义头

检查这个例子

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) ")
}
var-request=NSMutableURLRequest(URL:NSURL(字符串:http://example.com")!)
request.HTTPMethod=“POST”
request.setValue(“,用于HttpHeaderField:”)
变量参数:NSDictionary=[“维度”:[“产品”:[“名称”:“macpro”,“价格”:“350”]]
request.HTTPBody=NSJSONSerialization.dataWithJSONObject(参数,选项:nil,错误:nil)
请求(request).response{(请求,响应,结果,错误)->Void in
//处理响应
println(“\(请求)\t\(响应)\t\(结果)\t\(错误)”)
}

下面是适用于iOS 7和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 }

更多信息:

我正在调查与我相同的问题。我使用的是xcode 6.1.1。
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 }