読者です 読者をやめる 読者になる 読者になる

株式会社ネクスト エンジニアBlog

不動産・住宅情報サイト HOME'Sを運営する株式会社ネクストのエンジニアが提供する技術ブログです。エンジニアに役立つ情報の発信や、弊社エンジニアの活動を中心にお届けします。

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

DB CouchbaseLite

上津原です。
前回は、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周りを見て行きたいと思います。