ぬけてるエンジニアの備忘録

イケてない情報の掃き溜め。。。

【Swift】Alamofireを使ってみた

github.com

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)
         }

 

非常に簡単に導入・実装まで行う事ができました。

 

画像の非同期取得も記事にしました。

nukenuke.hatenablog.com