Chromium Embedded Framework (CEF) チュートリアル (Mac)

HTML+CSS+JavaScriptでデスクトップアプリを作れるフレームワークの調査でも紹介しましたが、Chromium Embedded Framework (CEF)はChromeブラウザの機能を自分のアプリケーションで使えるようにするためのブラウザコントロールです。

ダウンロードしたバイナリに含まれるcefclientというサンプルプログラムがあるのですが、README通りには素直にビルドできなかったので、今回はMac版CEFのビルドの仕方を紹介します。
ちなみにCEFにはシングルプロセスアーキテクチャのCEF1とマルチプロセスアーキテクチャのCEF3の2種類あります。
CEF3の方がパフォーマンスが良いらしいので、今回はCEF3を試しました。

試した環境はMac OS X Lion + Xcode 4.5.2です。

  1. http://code.google.com/p/chromiumembedded/downloads/listからcef_binary_3.1180.823_macosx.zipをダウンロードします(バージョンは最新のものをダウンロードして下さい)。
  2. 解凍した中にあるcefclient.xcodeprojをXcodeで開きます。
  3. そのままビルドすると以下の様なエラーが出ます。

    image

    これはArchitectures -> Base SDKの設定がOS X 10.6 (Snow Leopard用)になっているためで、Snow Leopard以外の人はこれをOS X 10.7やCurrent OS Xなどに変更する必要があります。

  4. プロジェクトツリートップのcefclientをクリックするとTARGETSにALL、cefclient、libcef_dll_wrapper、cefclient_helper_appが表示されるので、それぞれのターゲットをクリックしてBuild Settingsから上記のBase SDKの設定を行います。

  5. 次にBuild Options -> Compiler for C/C++/Objective-CLLVM GCC 4.2に設定します。
  6. 上記の手順を全てのターゲットについて行い、ビルドを行います。
  7. ビルドが成功するとcefclient.xcodeprojのあるディレクトリにxcodebuildというディレクトリが作られていると思うので、その中のDebugディレクトリにcefclient.appがあります。
  8. cefclient.appを実行して以下のようなウィンドウが表示されれば成功です。

ネイティブなウィンドウメニューとどうやってやり取りするかはまた今度調べてみます。