これまでiOSのライブラリ管理と言えばCocoaPodsが一般的でしたが、最近人気急上昇中なのがCarthageです。CocoaPodsではワークスペースを作ってライブラリの依存関係含めて管理をすべて行ってくれますが、Carthageはライブラリの配備程度でインストールは手作業で行います。また、Carthageはビルドが速かったり、元々のxcodeprojファイルを使う仕組みとなっています。
Carthageの方が柔軟性があるので、問題が起きたとしても自分で解決したり、選択肢が多いと考えられます。mBaaSのiOS SDKについてもCarthageに対応していますので、今回はその使い方を紹介します。
Carthageのインストール
Carthageのインストール自体はHomebrewで行います。
brew install carthage
プロジェクトにCartfileを作成
Carthageにおけるライブラリの設定はCartfileになります。プロジェクトのルートディレクトリに作成します。
# Cartfile github "NIFTYCloud-mbaas/ncmb_ios"
終わったらコマンドを叩きます。
carthage update --platform iOS
これが終わると Carthage/Build/iOS/
以下に NCMB.framework
ができあがります。
Xcodeプロジェクトに追加
NCMB.frameworkの追加は手作業になります。Generalの中の、
- Embedded Binaries
- Linked Frameworks and Libraries
の両方に NCMB.framework
を追加します。
さらに Build Phases において、左上の+ボタンをクリックし、New Run Script Phaseを選択します。
デフォルトで shell /bin/sh と書かれていますので、それを /usr/local/bin/carthage copy-frameworks
とします。加えて、Run script only when installingをチェックしてください。
最後に input Files の+ボタンをクリックして、 $(SRCROOT)/Carthage/Build/iOS/NCMB.framework
と記述します。
これで完了です。
使ってみる
NCMBを使う場合には、最初に次のように宣言します。
import NCMB
後は普段と変わらず利用できます。
let application_key = "d2...c0" let client_key = "33...b8" NCMB.setApplicationKey(application_key, clientKey: client_key)
Carthageを使えるようにするまでには一手間ありますが、既存のプロジェクトには殆ど手が加わらないので予想外の結果になるということは少なそうです。CocoaPodsは至れり尽くせりの分、すぐに開発するには良いでしょう。どちらも今後とも選択肢としてありえるので、皆さんのプロジェクトに合わせてチョイスしてください。