Ios 为什么可以';在Alamofire 4.0中,我是初始化还是向SessionManager发出请求?(更新)

Ios 为什么可以';在Alamofire 4.0中,我是初始化还是向SessionManager发出请求?(更新),ios,swift,alamofire,Ios,Swift,Alamofire,迁移到Alamofire 4,我正在尝试初始化会话管理器,如下所示: let configuration = URLSessionConfiguration.default configuration.timeoutIntervalForRequest = 20 configuration.httpAdditionalHeaders = ["MyCompany-User-Agent": Config.MyCompanyUserAgentDataString] var alamoManager:

迁移到Alamofire 4,我正在尝试初始化会话管理器,如下所示:

let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForRequest = 20
configuration.httpAdditionalHeaders = ["MyCompany-User-Agent": Config.MyCompanyUserAgentDataString]
var alamoManager: SessionManager = Alamofire.SessionManager(configuration: configuration)
然而,我不断得到的错误,因为

无法使用参数列表调用SessionManager 类型(配置:URLSessionConfiguration)

我遵循的语法是,但我的语法有错误。我做错了什么?此外,我无法执行来自
会话管理器的请求

例如:

Alamofire.request(url, method: .get, parameters: parameters, encoding: JSONEncoding.default).responseObject { (response: DataResponse<MyCustomResponse>) in
            if let result = response.result.value {} }
Alamofire.request(url,方法:.get,参数:parameters,编码:JSONEncoding.default)。响应对象{(响应:DataResponse)位于
如果let result=response.result.value{}
处理问题,(其中alamoManager是会话管理器):

alamoManager.request(url,方法:.get,参数:parameters,编码:JSONEncoding.default)。响应对象{(响应:DataResponse)位于
如果let result=response.result.value{}
它不起作用。我得到的错误是

SessionManager类型的值没有成员请求

我很困惑为什么我会犯这样的错误。文档清楚地显示了一个使用请求方法的
SessionManager
对象的示例

但是我注意到,如果我创建一个新的项目,那么这段代码没有问题。但是,在我现有的项目中,会显示这些错误。我已经检查了
Podfile.lock
,而
Alamofire
的版本确实是4.0。我为所有目标和项目设置了目标iOS9.0的构建设置


有人能帮我吗?把我的头发扯下来一点

我建议您使用Alamofire的默认标头初始化额外的标头:

    // Adding Headers:
var defaultHeaders = Alamofire.SessionManager.defaultHTTPHeaders
defaultHeaders["MyCompany-User-Agent"] = Config.MyCompanyUserAgentDataString
    // adding Configuration:
let configuration = URLSessionConfiguration.default
configuration.httpAdditionalHeaders = defaultHeaders 
configuration.timeoutIntervalForRequest = 20
var alamoManager: SessionManager = Alamofire.SessionManager(configuration: configuration)

您的两个代码片段都是用带有AF 4.0.0的XC 8 GM为我编译的(如果我从AF文档中粘贴
responseObject
实现)。您可能需要给出一个更完整的案例,让其他人重现错误。即使我在现有项目中创建了一个新类,我仍然会遇到错误,无法使用类型为的参数列表调用SessionManager(配置:URLSessionConfiguration。但在一个新项目中,我不知道这是构建设置还是什么。@Kex您得到了什么更新?如果您不尝试将会话管理器设置为全局,这对我也很有效。如果您将其设置为全局,我会看到相同的错误。在我看来,这像是一个bug。
    // Adding Headers:
var defaultHeaders = Alamofire.SessionManager.defaultHTTPHeaders
defaultHeaders["MyCompany-User-Agent"] = Config.MyCompanyUserAgentDataString
    // adding Configuration:
let configuration = URLSessionConfiguration.default
configuration.httpAdditionalHeaders = defaultHeaders 
configuration.timeoutIntervalForRequest = 20
var alamoManager: SessionManager = Alamofire.SessionManager(configuration: configuration)