当前位置: 首页 > 知识库问答 >
问题:

关于Alamofire版本使用管理器

葛成济
2023-03-14

我用这个代码。

var apiPath : String = "/api/list/"
let configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
configuration.timeoutIntervalForRequest = 60
let manager = Alamofire.Manager(configuration: configuration)
manager.session.configuration.HTTPAdditionalHeaders = ["_token" : self._token]
manager.request(.GET, self._host + self._url + apiPath, parameters: nil)
    .responseSwiftyJSON ({ (request, response, resultJson, error) in
        if (resultJson["Success"]) {
             //get list success
        } else {
            println("request : \(request)")
            println("response : \(response)")
            println("resultJson : \(resultJson)")
            println("error : \(error)")
        }

})

我遇到了些问题

阿拉莫菲尔1.2版。1:没问题

Alamofire版本1.2.2

request : { URL: https://test.com/api/list/ }

response : nil

resultJson : null

错误:可选(错误域=NSURErrorDomain代码=-999“取消”用户信息=0x7feb92c434f0{NSErrorFailingURLKey=https://test.com/api/list/,NSLocalizedDescription=取消,NSERRORFAILINGURSTRINGKEY=http://test.com/api/list/)

为什么响应为零,结果Json在版本1.2.2和1.2.3上为空请帮我这个代码中有什么问题...

共有2个答案

温嘉玉
2023-03-14

我注意到您的APIendpoint指示安全连接:

httpS://test。com/api/list/

以防万一,试试看,也许它会重复你的情况。

在我的例子中,这是API管理器代码中的一个输入错误。从这一部分可以说是连接了应用程序传输安全设置。

只是将受保护的协议从http://更改为超文本传输协议://和错误:

NSURErrorDomain代码=-999“已取消”

他走了,一切都成功了!

如果你有类似的问题。请务必与处理应用程序的服务器或API配置的后端专家讨论此问题。这意味着服务器没有有效的安全证书。也许你仍然需要一个安全的连接。或者,这位专家可以再次将所有内容从http://配置回httpS://,我不确定(没有检查)当您在代码中已经使用不安全的http://连接时,这是否会再次起作用。

鲜于温书
2023-03-14

在从1.2更新Alamofire之后,我今天遇到了与您相同的问题。1至1.2。3.

通过在responseJSON块的末尾和内部添加“manager.session.invalidateAndCancel()”我发现解决了这个问题。但我无法理解的是,responseJSON块中的这行代码如何影响responseJSON结果。

无论如何,我会一直运行这个修复程序,直到Alamofire团队修复它或者有人向我解释为什么会发生这种情况。

 类似资料:
  • 1 分支管理 常用远程分支: master dev prd feature- hotfix- release- tag管理: 凡是部署版本给客户验证的,均应该打上tag以进行标识。 release管理: release分支,name字段为相应客户的名字。例如release-zhangjiakou 2 版本号规范 版本规范参考文档 <major>.<minor>.<patch>-<stage>.<

  • 问题内容: 我一直在搜索如何使用Spring 3.2.x管理REST API版本,但没有找到易于维护的东西。我将首先解释我所遇到的问题,然后是一个解决方案……但我确实想知道是否在这里重新发明轮子。 我想基于Accept标头管理版本,例如,如果请求具有Accept标头application/vnd.company.app-1.1+json,我希望spring MVC将其转发到处理此版本的方法。而且由

  • 问题内容: 是否有与Java世界等效的Ruby版本管理器? 我正在寻找可以让我轻松下载并安装新的JVM并在它们之间切换的工具。例如: 问题答案: 如果使用Ubuntu,则可以通过命令指定要使用的JVM(仅适用于从apt-get或aptitude安装的JVM) 或通过设置JAVA_HOME。这是一个很好的教程: http://vietpad.sourceforge.net/javaonlinux.h

  • 新功能的开发 和 稳定性的提高 对产品都很重要。但是添加新功能会影响稳定性,Dubbo 使用如下的版本开发模式来保障两者。 2 个版本并行开发 BugFix 版本:低版本,比如 2.4.x。是 GA 版本,线上使用的版本,只会 BugFix,升级第三位版本号。 新功能版本:高版本,比如 2.5.x。加新功能的版本,会给对新功能有需求的应用试用。 2.5.x 的新功能基本稳定后,进入 2.5.x 试

  • 1.版本号管理 Dorado的版本号管理参照 : http://semver.org/lang/zh-CN/ 进行设定,版本格式为:主版本号.次版本号.修订号 主版本号:Dorado提供的API出现不兼容的情况时,升级该版本号 次版本号:Dorado提供新的功能特性同时保持向下兼容时,升级该版本号 修订号:Dorado的代码进行向下兼容的问题修复时,升级该版本号 2. 版本维护 如果Dorado目

  • 详细查看我们的版本控制策略和实现。 从版本 2.0.0, Electron 遵循 semver 。以下命令将安装 Electron 最新稳定的版本: npm install --save-dev electron 现有项目更新到最新的稳定版本: npm install --save-dev electron@latest Electron Versioning A detailed look at