![](/img/trans.png)
[英]Why can't I make a request with SessionManager in Alamofire 4.0?
[英]Why can't I initialize or make a request with SessionManager in Alamofire 4.0? (UPDATED)
迁移到Alamofire 4
,我正在尝试初始化会话管理器,如下所示:
let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForRequest = 20
configuration.httpAdditionalHeaders = ["MyCompany-User-Agent": Config.MyCompanyUserAgentDataString]
var alamoManager: SessionManager = Alamofire.SessionManager(configuration: configuration)
但是我一直收到错误
无法使用参数列表类型(配置:URLSessionConfiguration)调用SessionManager
我遵循https://github.com/Alamofire/Alamofire#modifying-the-session-configuration的语法,但是我的有错误。 我在这里做错了什么? 我也不能从SessionManager
发出请求。
例如:
Alamofire.request(url, method: .get, parameters: parameters, encoding: JSONEncoding.default).responseObject { (response: DataResponse<MyCustomResponse>) in
if let result = response.result.value {} }
但 没有问题, 但正常工作 (其中alamoManager是SessionManager):
alamoManager.request(url, method: .get, parameters: parameters, encoding: JSONEncoding.default).responseObject { (response: DataResponse<MyCustomResponse>) in
if 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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.