无需使用框架即可手动集成Alamofire 2

时间:2015-09-19 14:20:29

标签: ios swift swift2 alamofire

我最近升级到Swift 2和XCode 7。 我只是通过在项目中复制Alamofire.swift来使用Alamofire。 但现在我想使用Alamofire 2并下载并获得最新的Alamofire.swift

我在Alamofire.swift中遇到了很多错误:

  

使用未声明类型'请求'

error screenshot

另外Method是HttpMethods的枚举,但现在它是COpaquePointer的类型Alaas error2 screenshot

我知道它可以通过CocoaPods完成,但我不想使用框架。 什么是现在整合它的最佳方式?

P.S。:我想支持iOS 8 +

1 个答案:

答案 0 :(得分:1)

您必须从Alamofire存储库下载所有.swift文件。在Alamofire 1和2之间,有很多事情发生了变化。例如,RequestresponseJSON块返回三个内容,NSURLRequest?, NSHTTPURLResponse?,Result<AnyObject> struct,其中json数据为json.valuejson.errorErrorType

以下代码示例显示了如何将其与Xcode 7和Swift 2一起使用

var defaultCfg: NSURLSessionConfiguration  {
    let cfg = NSURLSessionConfiguration.defaultSessionConfiguration()
    cfg.HTTPCookieStorage = NSHTTPCookieStorage.sharedHTTPCookieStorage()
    cfg.HTTPCookieAcceptPolicy = NSHTTPCookieAcceptPolicy.Always
    cfg.URLCache = nil
    cfg.HTTPAdditionalHeaders = ["User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:40.0) Gecko/20100101 Firefox/40.0", "Accept-Language":"en-US,en;q=0.5"]
    return cfg
}
self.mngr = Manager(configuration: cfg)
    self.mngr.request(.GET, url,parameters:parameters)
        .responseJSON { (req, res, json) in
            if(json.error != nil) {
              //  NSLog("Error: \(error)")
                failure(res, json.value, someerroryouset)
                return

            }
            else {
                let jsond = JSON(json.value!)