web・アプリに関わらず、プログラミングをする上でAPI通信は必須の技術になっています。
javascriptならば、Axiosという非常に有名なAPIクライアントライブラリがあり、多くのwebアプリはAixosを使ってAPI通信をしています。
iOS開発でもAlamofireという定番のAPIクライアントがあり、今回はそのAlamofireのインストールから実際の使用法まで解説します。
COCOAPODSでライブラリをインストールする
javascriptの場合は、npmやyarnでパッケージ管理をすると思います。
iOS開発も同じようにパッケージ管理システムが存在します。
それが、COCOAPODSです。
今回はCOCOAPODSを使って、AlamofireをインストールしてXcodeで実際に使っていきます。
まずは、プロジェクトでCOCOAPODSを使うことを宣言するために、プロジェクトディレクトリにターミナルで入り、
1 |
pod init |
を実行します。
実行後、対象ディレクトリにPodfile
というファイルが作成されます。
このPodfileにインストールしたいパッケージを記載してパッケージ管理をしていきます。
javascriptでいうpackage.json
です。
Podfileにインストールするパッケージを記載する
pod init
で作成されたPodfileを以下のように編集します。
1 2 3 4 5 6 7 8 9 10 11 12 |
platform :ios, '9.0' target 'project name' do # Comment the next line if you're not using Swift and don't want to use dynamic frameworks use_frameworks! # Pods for project pod 'SwiftyJSON' pod 'Alamofire' end |
- pod ‘SwiftyJSON’
- pod ‘Alamofire’
のように、必要なライブラリを追記していきます。
今回は、APIクライアントのAlamofireとAlamofireで取得したデータをJSON形式で扱うためのSwiftyJSONを追記しました。
必要なライブラリを追記したら、またターミナルに戻って、
1 |
pod install |
を実行します。
このコマンドが実行されると、Podfileの記述を元にライブラリをプロジェクトにインストールします。
xcodeprojではなく、xcworkspaceを使う
COCOAPODSでライブラリをインストールする前は
【プロジェクト名.xcodeproj】
をダブルクリックして、Xcodeを実行していました。
しかし、ライブラリをインストールすると、
【プロジェクト名.xcworkspace】
をダブルクリックして、Xcodeを実行する必要があります。
swiftファイルを修正していく
AlamofireとswiftyJSONのインストールが完了したら、実際にその2つのライブラリを使ってソースを書いていきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import UIKit import Alamofire import SwiftyJSON class UIViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() Alamofire.request("https://エンドポイント/").responseJSON { res in if res.result.isSuccess { if let returnValue = res.result.value { print(JSON(returnValue)) } } else { print("Error!") } } } } |
上記のようにコントローラーファイルを編集して、ビルドすると、エンドポイントから返ってきた値がjson形式でログに表示されます。
jsのAxiosに非常に似ていて、Alamofireパッケージでエンドポイントを叩いて、返ってきた値をクロージャーの中で好きなように使う感じです。