之前就知道Alamofire,但是以为只有OC,没有swift的
现在发现也有swift的了:
Alamofire/Alamofire: Elegant HTTP Networking in Swift
现在去安装到项目中:
<code>github "robb/Cartography" github "danielgindi/Charts" ~> 2.2.4 github "realm/realm-cocoa" github "DaveWoodCom/XCGLogger" ~> 3.3 github "Alamofire/Alamofire" ~> 3.4 </code>
然后去安装:
<code>licrifandeMacBook-Pro:QorosSales crifan$ carthage update Alamofire *** Cloning Alamofire *** Fetching XCGLogger *** Fetching realm-cocoa *** Fetching Charts *** Fetching Cartography *** Checking out Alamofire at "3.4.0" *** xcodebuild output can be found in /var/folders/46/2hjxz38n22n3ypp_5f6_p__00000gn/T/carthage-xcodebuild.QdeN2y.log *** Building scheme "Alamofire iOS" in Alamofire.xcworkspace 2016-05-18 19:45:33.061 xcodebuild[2435:88642] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/WCGitTagsPlugin.xcplugin' not present in DVTPlugInCompatibilityUUIDs 2016-05-18 19:46:02.538 xcodebuild[2555:89822] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/WCGitTagsPlugin.xcplugin' not present in DVTPlugInCompatibilityUUIDs *** Building scheme "Alamofire watchOS" in Alamofire.xcworkspace 2016-05-18 19:46:30.448 xcodebuild[2647:90845] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/WCGitTagsPlugin.xcplugin' not present in DVTPlugInCompatibilityUUIDs 2016-05-18 19:46:44.083 xcodebuild[2713:91191] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/WCGitTagsPlugin.xcplugin' not present in DVTPlugInCompatibilityUUIDs *** Building scheme "Alamofire tvOS" in Alamofire.xcworkspace 2016-05-18 19:46:58.965 xcodebuild[2772:91580] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/WCGitTagsPlugin.xcplugin' not present in DVTPlugInCompatibilityUUIDs 2016-05-18 19:47:14.175 xcodebuild[2839:92008] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/WCGitTagsPlugin.xcplugin' not present in DVTPlugInCompatibilityUUIDs *** Building scheme "Alamofire OSX" in Alamofire.xcworkspace 2016-05-18 19:47:38.550 xcodebuild[2898:93027] [MT] PluginLoading: Required plug-in compatibility UUID ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/WCGitTagsPlugin.xcplugin' not present in DVTPlugInCompatibilityUUIDs </code>
现在抽空去用试试
Alamofire/Alamofire: Elegant HTTP Networking in Swift
代码:
<code> Alamofire.request(.POST, ServerApi.getSmsCodeUrl(), parameters: ["phone" : self.registerView.phoneTextField.text!, "codetype" : "register"], encoding: ParameterEncoding.JSON, headers: ["Accept" : "application/json"]).responseJSON(completionHandler: { response in gLog.verbose("request=\(response.request), response=\(response.response), statusCode=\(response.response?.statusCode), data=\(response.data), result=\(response.result)") /* request=Optional(<NSMutableURLRequest: 0x7a6c4e20> { URL: http://qorosmm.chinacloudapp.cn/code }), response=Optional(<NSHTTPURLResponse: 0x7a6c0e90> { URL: http://qorosmm.chinacloudapp.cn/code } { status code: 403, headers { Connection = "keep-alive"; "Content-Length" = 56; "Content-Type" = "application/json;charset=utf-8"; Date = "Tue, 31 May 2016 14:27:12 GMT"; Server = "nginx/1.10.0"; } }), statusCode=Optional(403), data=Optional(<7b22636f 6465223a 3430332c 226d6573 73616765 223a2254 68652070 686f6e65 20697320 72656769 73746572 65642062 65666f72 6520227d>), result=SUCCESS */ switch response.result { case .Success(let value): gLog.verbose("value=\(value)") /* { code = 403; message = "The phone is not found "; } { code = 403; message = "The phone is registered before "; } */ case .Failure(let error): gLog.verbose("error=\(error)") } }) </code>
更详细和完整的代码请参考:
https://github.com/crifan/crifanLib/blob/master/swift/Http/CrifanLibHttp.swift
https://github.com/crifan/crifanLib/blob/master/swift/Http/CrifanLibHttpDemo.swift
转载请注明:在路上 » 【记录】试用Swift中的网络库Alamofire