MacOSでのアプリ開発についてちょっと調べた。あの謎のアプリケーション形式は、実体としてはディレクトリで、中に所定の形式で普通の実行ファイルとアセット、そして設定ファイルが入っているだけらしい。
所詮実行ファイルを実行しているに過ぎず、デカいガワはFinderとか向けの話でしかないようだ。普通にgccでビルドした単体の実行ファイルでもGUIが出せた。もはや恐れるに足らず。
で、なんでこんなことを調べているかというと、クロスプラットフォームなゲーム開発ライブラリを作りたいというかねがね考えていた計画のやる気が出たからだ。Siv3DはMacのサポートが未だやや不完全で、またMetalではなくOpenGLベースなので、もしその辺のサポートを良い感じに出来たら差別化できる可能性がある。
一応Metalの勉強をちょっと試みてみたのだが、あまりにもVulkanと代わり映えしないので技術的に大して面白くなく、MoltenVKで良いよなとなった。
Khronos公式としてはVulkan SDKをダウンロード・インストールして使うことを推奨してるっぽいのだが、homebrewで済ませられた方が便利だよなと思って調べたところ、普通に可能だった。molten-vk, vulkan-headers, vulkan-loaderを入れて環境変数DYLD_LIBRARY_PATH
に/opt/homebrew/lib
を指定すればVulkan製GUIアプリが動く。glfwやsdlもhomebrewで入れられるので全部homebrewで済ませられる。実際に開発したアプリを配布する際には共有ライブラリをbundleに詰め込む感じになるだろう。
iOSについてはちょっとよく分からない。基本はMacと同じbundleの構造だと思うのだが、
- なんか署名みたいなのを入れないと実機デバッグは出来ない?
- XCodeの起動なしでシミュレータだけでデバッグに使いたいが、それは出来るのか?
この辺りが気になる。以下の記事が参考になりそうだがまだ目を通していない。
https://qiita.com/hituziando/items/3d1205140170932c49e7
Categories: 未分類