【发布时间】:2016-11-15 09:50:05
【问题描述】:
我在我的应用程序中使用 Xcode 8 和 swift 3.0,它们必须在 iOS 8.0 和 + 中运行。虽然 Alamofire 4.0 不支持 iOS 8.0,但是否有任何其他库管理网络,如 Alamofire,但支持 Xcode 8.0、swift 3.0 和 iOS 8.0 作为最小部署目标?
【问题讨论】:
我在我的应用程序中使用 Xcode 8 和 swift 3.0,它们必须在 iOS 8.0 和 + 中运行。虽然 Alamofire 4.0 不支持 iOS 8.0,但是否有任何其他库管理网络,如 Alamofire,但支持 Xcode 8.0、swift 3.0 和 iOS 8.0 作为最小部署目标?
【问题讨论】:
对于大多数请求,URLSession 已经足够了,我认为没有理由再在 iOS 中使用任何库进行网络连接了。
我们有一个从 Alamofire 开始并移植到 Swift 3 的项目,因此它仍然使用相同的请求生成过程。然后使用以下命令替换对 Alamofire 的调用:
let configuration = URLSessionConfiguration.default
let session = URLSession(configuration: configuration, delegate: nil, delegateQueue: OperationQueue.main)
let task = session.dataTask(with: request.urlRequest) { data, response, error in
// Process response
}
task.resume()
【讨论】:
Alamofire 4.0 使用自 9.0 以来 iOS 中的流委托,因此您不能在 iOS 8.0 中使用 swift 3.0 和 alofire 4.0,唯一的方法是:
如果您希望在面向 iOS 8 的同时使用 Xcode 8 和 Alamofire,请使用 Alamofire 3.5.0 和 Swift 2.3。 (官方回答)
https://github.com/tonyli508/AlamofireDomain(一个自定义的 alamofire 做你想做的事)
【讨论】: