【问题标题】:Command failed due to signal: Segmentation fault: 11 : alamofire post由于信号,命令失败:分段错误:11:alamofire post
【发布时间】:2017-03-21 17:32:44
【问题描述】:

我正在使用 xcode 7.3 和 swift 2.3。为了建立网络连接,我正在使用'Alamofire','~> 3.4.1'。在执行存档选项之前,我没有遇到任何问题。我得到了,Xcode 将此错误标记为 --->

由于信号导致命令失败:分段错误:11

class func post(url: String, headers:[String: String], parameters:[String: AnyObject], success:(AnyObject)->(), failure:(AnyObject)->()) -> () {
--->        Alamofire.request(.POST,
            url,
            headers:headers,
            parameters:parameters,encoding:.URL)
            .debugLog()
            .validate(statusCode: 200..<300)
            .responseString { response in

                response.debugLog() 
                switch response.result{
                case .Success(_):
                    //print(response)
                    let httpResponseBody = response.result.value! as String
                    success(httpResponseBody)

                case .Failure(_):
                    let error = response.result.error
                    //print(error)
                    failure(error!)


                }
        }

【问题讨论】:

    标签: ios swift xcode alamofire


    【解决方案1】:

    在为错误原因浪费了 4 小时调试之后,我终于发现这段代码导致了问题。

    extension Request { public func debugLog() -> Self { //#if DEBUG debugPrint(self) //#endif return self } }

    然后我从

    中注释掉 .debug()
        class func post(url: String, headers:[String: String], parameters:[String: AnyObject], success:(AnyObject)->(), failure:(AnyObject)->()) -> () {
    --->        Alamofire.request(.POST,
                url,
                headers:headers,
                parameters:parameters,encoding:.URL)
               // .debugLog()
                .validate(statusCode: 200..<300)
                .responseString { response in
    
                    response.debugLog() 
                    switch response.result{
                    case .Success(_):
                        //print(response)
                        let httpResponseBody = response.result.value! as String
                        success(httpResponseBody)
    
                    case .Failure(_):
                        let error = response.result.error
                        //print(error)
                        failure(error!)
    
    
                    }
            }
    

    【讨论】:

      猜你喜欢
      • 2014-12-20
      • 2015-12-16
      • 1970-01-01
      • 2017-06-23
      • 2016-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多