AFNetworkingの使い方!WEB APIと非同期で連携する

基本的にライブラリには手を出さない方です。理由は言語のバージョンアップ等によって、ライブラリが急に動かなくなったりすると、その修正に時間がかかることが多いから。しかし、あまりに使いやすいライブラリは使います。使わないで作ったほうが時間がかかるからです。というわけで、今回はAFNetworkingライブラリのインストールと使い方について。
目次
AFNetworkingとは
WEB APIを使って、APIにリクエストしてjSONやXMLを取得する。といったよくあるアプリを作る場合、標準のもので作ろうとすればNSURLConnection等を使います。しかし、APIを呼び出す毎にコードを書いていては、膨大な行数になり、可読性がよくありません。そこで、AFNetworkingライブラリを使うと、少ないコードでjSONの解析まで含めて、サクッと処理をしてくれるのです。
GETでAPIにリクエストする例。
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; NSDictionary* param = @{@"seibetsu":@"dansei",@"nenrei":@"30"}; [manager GET:@"http://example.com/v1/" parameters:param success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"JSON: %@", responseObject); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"Error: %@", error); }];
これだけで非同期でAPIにリクエストして、jSONデータを受け取るところまでできてしまいます。分かりやすいですね。
CocoaPodsを使って、AFNetWorkingをインストール
通常ライブラリを探して、必要なバージョンを探してダウンロードして、読み込んで…ということをやる必要がありますが、CocoaPodsを使えばかんたんにライブラリの管理・インストールができます。
ターミナルを起動
$ sudo gem install cocoapods
cocoapodsをインストール
プロジェクトファイルが置いてあるディレクトリに移動
$ cd /your/xcode/project
Podfileの作成
$ vi Podfile platform :ios, "7.0" pod 'AFNetworking', '~> 2.0'
プラットフォームがiOSの7.0以上で、AFNetworkingというライブラリのバージョン2系を指定してインストール。
指定したライブラリのインストール
$ pod install
プロジェクト名.xcworkspaceというファイルができます。今後はプロジェクト名.xcodeprojではなく、こちらから起動します。あとは、必要なところでAFNetworking.hをimportして、さきほどのコードを利用できます。
参考リンク
iOSライブラリ管理の神ツール「CocoaPods」のインストールと使い方
AFNetworking
[sc name=”ios”][sc name=”engeneer”]
SHARE
無料メルマガ
「好きなことで生きていく」をコンセプトに、ブログの新着コラムをお届けします。
無料メルマガ登録はこちら
PROFILE

あらゆるスキルが学べるパーソナルメンターサービスMENTAの代表/個人開発が好きでこれまでに30個ほどのWEBサービスやアプリを作ってきました/福岡のWEB制作会社勤務→フリーランスエンジニア→法人立ち上げ→M&A億単位の売却を経験。 (詳しいプロフィール)