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

Webサービスを作るのが大好きです。制作会社10年→フリーランス→受託をやめサービス開発に専念。プログラミングのメンターサービスMENTAは月間流通額約1,300万を突破🚀 YouTubeでは個人開発について語ってます / 「自分のサービスで生きていく」をコンセプトに個人開発オンラインサロン「入江開発室」を運営(詳しいプロフィール)