/ #iphone 

Chrome Apps for MobileでサンプルアプリをiPhoneシミュレータへデプロイしてみた

天使やカイザーと呼ばれて » Chrome Apps for mobileの開発方法を参考に、Chrome AppsのサンプルをiPhoneシミュレータへデプロイするところまで試してみた。

開発ツールのインストール

前提条件

Xcodeやシミュレータなど、既にMac上のiOS開発環境ができていることが前提。

Node.js
node.jsからパッケージをダウンロードしてインストール。

ios-deploy

$ [sudo] npm install -g ios-deploy

ios-sim

$ [sudo] npm install -g ios-sim

cca

$ [sudo] npm install -g cca

サンプルソースのダウンロードとプロジェクトの作成

chrome-app-samplesをダウンロードする。

$ git clone https://github.com/GoogleChrome/chrome-app-samples.git

chrome-app-samplesには複数のサンプルアプリが含まれてるが、今回はtodomvcというアプリを試す。

$ cca create Todo --link-to=./chrome-app-samples/todomvc/manifest.json 
cca v0.0.5
Loading command: create
## Checking that tools are installed
Android not detected (`android` command not detected on your PATH).
Xcode detected.
Searching for Chrome app source in /Users/hitoshi/project/chrome-app-samples/todomvc
## Creating Your Application
create Todo ToDoMVC ToDoMVC 
Writing config.xml
Changing directory to: /Users/hitoshi/project/Todo
platform add ios
plugin add org.apache.cordova.file
plugin add org.apache.cordova.inappbrowser
plugin add org.apache.cordova.network-information
plugin add org.apache.cordova.keyboard
plugin add org.apache.cordova.statusbar
plugin add org.chromium.navigation
plugin add org.chromium.bootstrap
plugin add org.chromium.i18n
plugin add org.chromium.polyfill.CustomEvent
plugin add org.chromium.polyfill.xhr_features
plugin add org.chromium.polyfill.blob_constructor
plugin add org.chromium.storage
plugin add org.chromium.alarms
plugin add org.chromium.notifications
plugin add org.chromium.fileSystem
plugin add org.chromium.FileChooser
plugin add org.chromium.syncFileSystem
prepare
Done!

Your project has been created, with web assets symlinked to the following chrome app:
/Users/hitoshi/project/Todo/www --> /Users/hitoshi/project/chrome-app-samples/todomvc

Remember to run `cca prepare` after making changes (full instructions: http://goo.gl/iCaCFG).

これでTodoプロジェクトができた。ここで指定した"--link-to"は、指定したパスにあるアプリへのシンボリックリンクを作成してプロジェクトを作成するオプションだが、"–copy-from"を指定するとコピーしてプロジェクトを作成できるようだ。

シミュレータで実行する

$ cd Todo
$ cca emulate ios

あっさりと起動した。

実際にTodoを入力してみる。

Provisioning Profileをセットアップ済なら、

$ cca run ios

で実機へデプロイできるとあったが、

$ cca run ios
cca v0.0.5
Generating config.xml from defaults for platform "ios"
Preparing ios project
Running app on platform "ios" via command "/Users/hitoshi/project/Todo/platforms/ios/cordova/run" 
Error: An error occurred while running the ios project.** BUILD FAILED **

The following build commands failed:
  Check dependencies
(1 failure)

at ChildProcess. (/usr/local/lib/node_modules/cca/node_modules/cordova/src/run.js:66:22)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:743:16)
    at Socket. (child_process.js:956:11)
    at Socket.EventEmitter.emit (events.js:95:17)
    at Pipe.close (net.js:466:12)

となってしまった。とりあえず今回はここまでにして別途調べる。

Edit(Admin)