macのアプリ開発を調べて出てくるのは、「macを使ったスマホアプリ」の作り方ばかりで
本当にmac用のアプリをCocosとxcodeで作れるのか怪しくなってくる。とりあえずadkとか、ipkとか
スマホアプリの実行形式に関わる記載の「ない」ページを検索しても見つからないので、諦めて
cocos2dのページから辿っていくと普通に英語ページが見つかった。
mac用のアプリをxcodeでコンパイルする方法が出ていた、しかもすげえシンプル。
ここに詳しく書いてある
http://www.cocos2d-x.org/wiki/How_to_run_cpp-tests_on_Mac_OS_X
とりあえず言っておくと開発するだけなら、以下の点に留意。
MacBook Air(13inch Early2015) プロセッサ 2.2GHz intel Core i7 メモリ 8GB OSX El Capital
XCode Version7.3,1
cocos2d-x/build の中の「cocos2d_tests.xcodeproj」を起動してみるとxCodeが立ち上がってプロジェクトが
読み込まれた。
コンパイルに時間がかかるが問題なくビルド終了。続けてアプリが起動する!
やったー動いたー!そしてステップ実行もできる、問題ない。あれこんなにあっさり動いていいのかしら?
Androidの時にあれだけ苦労したのにおかしいな?ソースの改変、コンパイル、ターゲットへの実行までの手順を確認。
だいたいわかった。xcodeに慣れておけば、デバッグもいつものVCで行っていたステップイン、アウト、オーバーも問題ない。
controller.cpp
AppDelegate::applicationDidFinishLaunching() { new RootTests( ); }
ANDROIDの時と同じく、この関数から初期化されてるのを確認
実行する時のターゲットをiPhone6sにしたらそれだけでiPhoneシミュレータが起動して同じものが動く。
最初は、macのものがそのまま動いてるんじゃないかとすら疑ったが、画面のスクロールの操作がフリックからドラッグに変わったので間違いなさそう。fPSも60から40程度に落ちていた。とてもCocosらしい。期待していた通りの簡単さだった。
今のサンプルプロジェクトはそれなりに規模が大きい。Androidの時にあったHelloWorldScene.cppはどこだ?
/Users/ragi/Desktop/cocos/cocos2d-x-3/tests/cpp-empty-test
いろんなところにあったが、ここっぽい。この「cpp-empty-test」の下に各種プラットフォームのプロジェクトファイルがあった。Androidの時と同じ。しかし、xcodeのプロジェクトファイルがない!?slnファイルとかの別プラットフォームのものはあれども、iOS/macで使えるxcodeファイルがない。しかしtemplates-defaultフォルダに発見。なんだ?テンプレートって意味がわからないがとりあえず、、、、
/Users/ragi/Desktop/cocos/cocos2d-x-3/templates/cpp-template-default/proj.ios_mac
起動してみる。xcodeが立ち上がる。コンパイルすると、cocos2d.hがないと言われてビルド失敗。
うむむ、そうか!templateフォルダにあるものって、自分でプロジェクトを作る時のコピー元なのでは!?と思った。
ということは、Androidの時と同じく、cocos newみたいなことをコマンドでしなくてはならないような気がする。
パスの設定とか、その辺はどうするのか?macのターミナルとの格闘を予感してガクブル。
そういえばAndroidの時に環境変数を設定したことを忘れていたが、当然macでもしてあげる必要があったね。
./setup.pyで、設定してやる。AndroidのNDKとかの場所を聞いてくるけど、とりあえず無視でいい。macアプリの開発にndkはいらない。Android版の開発で使用するならパス設定してあげるといいかもしれないけど、本稿ではパス。windowsのシステム環境変数の設定でやったような環境変数の設定はmacではbash_profileという設定ファイルに記載することになるようです。
cocos new プロジェクト名 (フォルダができる) -p net.suplex.プロジェクト名 -l cpp
$ source ./.bash_profileこれでbashの設定を反映できるとのこと
Cocos new でプロジェクトを作ったら、設定したフォルダに念願の「プロジェクト名.xcodeproj」ができた!
起動してみる。
最初にコンパイルが失敗してしまったがどうもcocos2dのライブラリをコンパイルしていなかったのが問題っぽい
こっちを先にコンパイルしてみる
libcocos2d mac >My mac
Cocos2Dのコンパイルが成功した後はうまくリンクしてくれたみたいだけれども、その後に実行しようとしても
どうしてもターゲットマシンに転送してもらえない、というか実行するためのプレイボタンが消えている。
何をどうしても動かなかったが、Schemeの設定を見るとExecuteの項目が空欄になっていた。
ここを正しく設定することで転送できました!
・グラントリノ
・フェイク
・ブラックスキャンダル
・サイエンス