Tag: alamofire

链接器错误更新后,swift版本和豆荚

我正在安装Alamofire与豆荚和编译时间错误。 有很多关于这个的问题,但是: 删除派生的数据和更新豆荚不适合我。 这是错误的: Alamofire / Alamofire.framework / Alamofire使用较新版本的Swift语言(3.0)编译而不是以前的文件(2.0)对于x86_64体系结构clang:错误:linker命令失败,退出代码1(使用-v来查看调用)

如何使用Alamofire上传MultipartFormData进行身份validation

如何使用Alamofire上传MultipartFormData进行身份validation? 我不明白的地方是放置.authenticate(user: username, password: password). ? 这是我通常如何使用MultipartFormData上传图片: Alamofire.upload( .POST, "https://myExampleUrl/photo/upload", headers: headers, multipartFormData: { multipartFormData in multipartFormData.appendBodyPart(data: "default".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!, name :"_formname") multipartFormData.appendBodyPart(fileURL: fileUrl, name: "photo") }, encodingCompletion: { encodingResult in switch encodingResult { case .Success(let upload, _, _): upload.responseString { response in debugPrint(response) } case .Failure(let encodingError): print(encodingError) } } ) 我认为可以将身份validation过程添加到头文件中?

如何成功传递string数组作为参数alamofire

我有一个端点接受一个string数组作为参数,但我不能让它与alamofire工作。 我testing我的terminal邮递员,它工作正常,即使在浏览器,但与alamofire它失败,只是返回整个事情(如果我没有把任何参数)。 func getQuotes(String url){ //THIS CALL IS NOT WORKING. PARAMETERS ARE NOT SENT PROPERLY – FIX let stringArray : [String] = ["4250_XSAU", "Test"] let getQuoteParameters : Parameters = [ //"internal_symbols": stockInternalSymbols "internal_symbols" : stringArray ] print("attempting to get quotes on utility queue") Alamofire.request(url, parameters: getQuoteParameters).responseJSON{ response in print(response) /* if (response.result.value != nil){ let […]

Swift 3.0迁移后的Alamofire错误:“在调用中额外的参数”(请求方法)

我目前正在更新我的代码库Swift 3.0,我正在使用Alamofire。 因此,我不得不将Alamofire更新到4.0(Alamofire git repo)。 我有一个请求的方法来从服务器获取数据,并在迁移之前,它的工作奇妙。 在使用Xcode的迁移工具之后,我结束了这个错误: "Extra argument in Call" 。 我不太确定为什么这种方法不再有效。 任何帮助将是美好的! class func makeRequest( _ method: RequestMethod, authorization: String?, uri: String, params: JSONDictionary?, retry: Bool = true, completionHandler: @escaping RequestCompletionBlock) { let requestURL = baseURL + uri let authHeader: Dictionary<String, String>? = authorization != nil ? ["Authorization" : authorization!] : nil //requestURL […]

Twitter应用程序专用authentication总是返回401

我试图使用应用程序唯一身份validation,我成功获取不记名的令牌,但是当我试图打电话给REST API时,我总是得到一个401错误,这是我的代码: private var accessToken: String? private let consumerKey = "*********" private let consumerSecret = "*********" private let baseUrlString = "https://api.twitter.com/1.1/" private let pageSize = 20 private func authenticate(completionBlock: Void -> ()) { if accessToken != nil { completionBlock() } let credentials = "\(consumerKey):\(consumerSecret)" let headers = ["Authorization": "Basic \(credentials.getBase64())"] let params: [String : AnyObject] […]

用alamofire发送字典数组

我必须通过POST请求发送字典数组。 例如: materials: [[String, String]] = [ [ "material_id": 1, "qty": 10 ], [ "material_id": 2, "qty": 5 ] ] Alamofire.request发送下一篇文章数据: materials => array( [0] => array("material_id" => 1), [1] => array("qty" => 10), [2] => array("material_id" => 2), [3] => array("qty" => 5), ) 我想要收到的表示forms: materials => array( [0] => array( "material_id" => 1, […]

快速恢复Alamofire在超时/丢失连接后上传

我使用swift 2.3和Alamofire与multipartFormDataasynchronous上传文件,似乎无法弄清楚,如果甚至有可能在我的连接超时或失去我的连接后,恢复简历,它是重新build立在手机上。 我想要的是恢复上传失败,例如:我上传一个大文件。 它上传到55%,然后我失去了我的互联网连接。 当我重新获得互联网连接时,我希望上传从55%继续,而不是从0%开始。 以下是我用来上传我的文件的代码: class FileUploadHelper { class func Upload(numberOfTimes: Int, index: Int, command: String, nsData: NSData, fileName: String, mimeType: String, progress: (index: Int, progressPercentage: Int) -> Void, error: (index: Int, fileUploadError : FileUploadError) -> Void, completed: (index: Int, dataFail: Int) -> Void, badConnection: () -> Void) { Alamofire.upload(.POST, ResourceHelper.ServiceBaseUrl + command, multipartFormData: […]

如何从`MoyaError`获取错误statusCode?

我正在使用Moya , Moya_ModelMapper和RxSwift来执行networking请求。 这是我的示例代码: let provider = RxMoyaProvider<MyEndpoint>() let observable: Observable<RegistrationResponse> = provider.request(.register(firstName: "", lastName: "", email: "", password: "")).mapObject(type: RegistrationResponse.self) observable.subscribe { [weak self] (event: Event<RegistrationResponse>) in switch event { case .next(let response): print(response) case .error(let error): print(error) case .completed: break } } 一切工作正常,但我不知道如何得到一个错误代码,当我收到例如从服务器的409状态码响应types。 如果我打印错误,我会得到: jsonMapping(Status Code: 409, Data Length: 0) 但我不知道如何通过代码获取这个状态码。 错误是一个枚举types的MoyaError 。 […]

使用Alamofire获取GET请求和参数的JSON结果

这是我的urlstring与参数。 http://api.room2shop.com/api/product/GetProducts?categoryId=22&filter=2&pageNumber=1通过我得到我的JSON数据。 我有AFWrapper.swift文件,我已经为GETrequest定义了函数。 import UIKit import Alamofire import SwiftyJSON class AFWrapper: NSObject { class func requestGETURL(strURL: String, params : [String : AnyObject]?, success:(JSON) -> Void, failure:(NSError) -> Void) { Alamofire.request(.GET, strURL, parameters: params, encoding: ParameterEncoding.JSON).responseJSON { (responseObject) -> Void in print(responseObject) if responseObject.result.isSuccess { let resJson = JSON(responseObject.result.value!) success(resJson) } if responseObject.result.isFailure { let error […]

Alamofire Post请求之后如何获得完成处理程序/块?

我有一个处理Apple Push Notification Service远程通知的方法。 当这个方法被执行时,我希望它调用我的服务器,并使用Alamofire库进行HTTP POST请求。 我想执行另一个方法来处理POST请求的响应。 我的问题是,我正在使用现有的API从这个POST请求中的服务器获取configuration文件。 所以我需要使用这个现有的API,并找出何时从远程通知中明确触发了此configuration文件提取。 由于Alamofire请求是在后台队列中完成的,在从服务器接收到configuration文件后,如何执行方法? 什么是解决这个问题的好select? 谢谢!