ニフクラmBaaSお役立ちブログ

スマホアプリ開発にニフクラmBaaS。アプリ開発に役立つ情報をおとどけ!

iOS SDKがCarthageに対応しました

これまで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は至れり尽くせりの分、すぐに開発するには良いでしょう。どちらも今後とも選択肢としてありえるので、皆さんのプロジェクトに合わせてチョイスしてください。