【Swift】Alamofireを使ってみた
Swift製のHTTP通信ライブラリAlamofireの導入メモ
環境
Xcode6.4
まずはCocoaPods
$ sudo gem install cocoapods
$ pod --version
0.38.2
Podfile
source 'https://github.com/CocoaPods/Specs.git'
platform : ios, '8.0'
use_frameworks!
pod 'Alamofire','~> 1.2'
Podfile内容は公式のまんまそれ *Swift1.2の場合
Swift2.0からは
source 'https://github.com/CocoaPods/Specs.git'
platform : ios, '8.0'
use_frameworks!
pod 'Alamofire','~> 2.0'
$ pod install
これで導入完了。
import Alamofire
importを忘れずに記述する。
GETリクエスト
Alamofire.request(.GET, "http://....", parameters: ["foo": "bar"],encoding: .JSON) .responseJSON { (request, response, JSON, error) in
println(JSON) }
Alamofire.request(.GET, "http://....", parameters: ["foo": "bar"]) .responseString { (request, response, string, error) in println(string) }
レスポンスをString形式で受け取る場合
POSTリクエスト
let parameters = [ "foo": "bar", "baz": ["a", 1], "qux": [ "x": 1, "y": 2, "z": 3 ] ]
Alamofire.request(.POST, "http://....", parameters: parameters, encoding: .JSON)
.responseJSON { (request, response, JSON, error) in
println(JSON)
}
BASIC認証
let user = "user" let password = "password" Alamofire.request(.GET, "https://httpbin.org/basic-auth/\(user)/\(password)") .authenticate(user: user, password: password) .response {(request, response, _, error) in println(response) }
非常に簡単に導入・実装まで行う事ができました。
画像の非同期取得も記事にしました。