Phonegapの環境構築 + "phonegap run ios"を実行するとiOSシミュレータが落ちる場合がある問題について


経緯

Phonegapを試してみようと思い、
公式サイト通りの手順で環境構築開始。
ちなみに、MacOS10.8.5で、Homebrewを導入済みです。

まずは、node.jsのインストールから。

$ brew install node

続けて、公式サイトと同じ手順でインストール。

$ sudo npm install -g phonegap

公式サイトと同じ手順でプロジェクトを作成を行い、最後にphonegap run iosを実行。

$ phonegap create my-app
$ cd my-app
$ phonegap run ios

すると、ios-simが無いからインストールしてね
とのエラーが表示されたのでインストール。

$ npm install -g ios-sim

そして、もう一度phonegap run iosを実行。

$ phonegap run ios

するとビルドが始まり、
完了すると自動的にiOSシミュレータが起動。

ここで、不具合発生。
iOSシミュレータの画面が真っ黒のまま変化せず、
しばらくするとシミュレータが落ちてしまいました。

原因と対応方法

環境として、tmux+zshな環境でコマンドを叩いていたのですが
zshのみで実行した場合は正常に動作していました。

小一時間ググったり悩んだりした末、
ios-simのreadmeにしっかり書いてあるのを発見 orz

tmuxを使っているならば、
reattach-to-user-namespaceが必要とのことです。
なのでインストール。

$ brew install reattach-to-user-namespace

そしてもう一度phonegap run iosを実行すると・・・
正常にシミュレータで実行できました!

あとがき

最近になってtmuxzshの環境を入れてみようかなと見よう見まねで環境構築してみましたが、
まだまだ理解を深める必要がありそうです。

そもそもreadmeはちゃんと目を通さなきゃダメってことですよね・・・
無駄な時間を消費しないためにも。