为啥我不能初始化 Alamofire 4 会话管理器?

Posted

技术标签:

【中文标题】为啥我不能初始化 Alamofire 4 会话管理器?【英文标题】:Why can't I init Alamofire 4 session manager?为什么我不能初始化 Alamofire 4 会话管理器? 【发布时间】:2016-09-22 03:09:24 【问题描述】:

我在初始化 Alamofire 4.0 会话管理器时遇到问题。我的代码如下:

func configAlamoManager() 

        let configuration = URLSessionConfiguration.default
        configuration.timeoutIntervalForRequest = 20
        if Features.JWT_AUTH 
            let user = SessionManager.getCurrentUser()
            if let jwtToken = user.jwtToken 
                let bearer = "Bearer \(jwtToken)"
                configuration.httpAdditionalHeaders = ["MyCompany-Authorization": bearer, "MyCompany-User-Agent": Config.MyCompanyUserAgentDataString]
             else 
                configuration.httpAdditionalHeaders = ["MyCompany-User-Agent": Config.MyCompanyUserAgentDataString]
            
        

        alamoManager = Alamofire.SessionManager(configuration: configuration)

    

对于alamoManager = Alamofire.SessionManager(configuration: configuration) 行,我收到错误“无法使用类型参数列表(配置:URLSessionConfiguration)调用 SessionManager”。这里有什么问题?我正在关注文档:https://github.com/Alamofire/Alamofire#modifying-the-session-configuration。我似乎以完全相同的方式初始化会话管理器。对此的任何指示将不胜感激!

【问题讨论】:

你的问题解决了吗? 【参考方案1】:

可能你有这行:

var alamoManager = Alamofire.SessionManager

但是通过这一行,您可以调用常见的Alamofire.SessionManager 初始化。

尝试将您的全局属性声明为:

var alamoManager = SessionManager()

所以它成为一个通用的SessionManager 类型,默认SessionManager 初始化。

【讨论】:

以上是关于为啥我不能初始化 Alamofire 4 会话管理器?的主要内容,如果未能解决你的问题,请参考以下文章

在 Alamofire 4.0 中初始化 SessionManager

为啥不建议在 Alamofire 中修改授权标头的会话配置?

会话失效后如何重新验证会话 Alamofire?

为啥我不能将文件附加为 Alamofire 中的参数值之一?

如何使用 Alamofire 和会话管理器附加 MultipartFormData 以及其他帖子参数? [复制]

为啥我的 PHP 会话会死掉?为啥我不能恢复它们?