LIFULL Creators Blog

LIFULL Creators Blogとは、株式会社LIFULLの社員が記事を共有するブログです。自分の役立つ経験や知識を広めることで世界をもっとFULLにしていきます。

Couchbase Liteをプロジェクトに追加してビルドしよう

上津原です。
前回は、Couchbase Liteの概要をお伝えしました。

今回は、実際に動作させていこうと思います。実際に動作させる私の環境は以下です。

  • Mac OS X 10.9 (Mavericks)
  • Xcode 5.0.1
  • iOS7

先に断っておきますと、特にこの環境でないと動かせないわけではありません。Couchbase Liteのページでの動作環境は以下のようになっています。

  • Xcode 4.6 or lator
  • iOS SDK 6.0 or lator

ですので、ご自身の環境にあったものを使ってください。

ただし一部、Xcode5.xでプロジェクトを作成するか、Xcode4.6でプロジェクトを作成するかで設定が違います(後述)

プロジェクト作成

新規プロジェクトを作成します。

テンプレートは「Single View Application」を選択します。
(もちろんこれも好きなものを選んで頂いても大丈夫です)

Product Nameは「CBL_EXAMPLE」とし、DeviceはiPhoneを選びます。
その他の項目はお好きな様に設定してください。

f:id:nextdeveloper:20131118170032p:plain

Couchbase Lite Framework を追加する

まずはこちら(http://www.couchbase.com/communities/couchbase-lite)から最新版のCouchbase Lite Frameworkをダウンロードします。

2013/11/18 時点ではcouchbase-lite-community-ios_1.0-betaが最新です。

ダウンロードしてきた、「CouchbaseLite.framework」をプロジェクトの「Frameworks」ディレクトリに追加します。プロジェクトにコピーを追加するかどうかはお好みでどうぞ。私は追加して動かしています。

次にBuild Settingsの「Other Linker Flags」に「-ObjC」を追加します。

f:id:nextdeveloper:20131118170331p:plain

そして最後に「Build Phases」の「Link Binary With Libraries」から、以下を追加します。

  • CFNetwork.framework
  • Security.framework
  • SystemConfiguration.framework
  • libsqlite3.dylib
  • libz.dylib

ここで一旦エラーが出ないか確認するためにビルドをしてください。

ここで、Xcode5でプロジェクトを作成した人は警告が出るはずです。Xcode4.6の人は出ないはずです。

Xcode5でCouchbase Liteを動かすには?

現状のCouchbase Liteは、arm64に対応していません。

ですので、Xcode5の人は「Build Settings」の「Architectures」の項目を「Standard Architectures (including 64-bit)(armv7, armv7s,arm64)」から「Standard Architectures (armv7,armv7s)」に変更してください。

f:id:nextdeveloper:20131118170403p:plain

そうすればビルドの警告が消えるはずです。

Couchbase Lite を動かしてみる

ビルドが通ればあとは実装してゆくのみです。

AppDelegateに以下を追加します。

#import <CouchbaseLite/CouchbaseLite.h>


次にプロパティ宣言を追加します。

@property (strong, nonatomic) CBLDatabase *database;

そして、application:didFinishLaunchingWithOptions:に以下を追加します。

// CBLManager の作成
 CBLManager *manager = [CBLManager sharedInstance];

 // データベース作成
 NSError *error;
 self.database = [manager createDatabaseNamed: @"my-database" 	error: &error];

データベース名に利用可能なのは、小文字[a〜z]、数字[0-9]、および特殊文字[$_()+ - /]となっています。

これでビルドが通る。

ここまでできれば、ビルドが通るようになっているはずです。
ビルドが完了すれば、アプリ内にデータベースが作成されます。

次回は、CRUD周りを見て行きたいと思います。