きりかノート 3冊め

おあそびプログラミング

RubyCocoa 今日のコミット RBApplicationInit()の修正 2012-10-12

  • 1.0.5で導入した--rubycocoa-ruby-optが古いRBApplicationMain()のみ有効でRBApplicationInit()+NSApplicationMain()のときに機能していなかったので直した。(r2404)
  • sample/以下のプログラムでRBApplicationMain()のものがたくさんあったのでRBApplicationInit()に変更した。(r2505)

RBApplicationMain()はNSApplicationMain()が呼ばれないため、コマンドラインオプションはrubyインタプリタ以外では処理されません。たとえばXcodeデバッグ機能を有効にしたときに渡される-NSDocumentRevisionsDebugModeなどがスルーされるために機能しません。

ですので、基本的にはmain.mは

   int main(int argc, char *argv[])
   {
       RBApplicationInit("rb_main.rb", argc, (const char **)argv, nil);
       return NSApplicationMain(argc, (const char **)argv);
   }

というようにRBApplicationInit()とNSApplicationMain()で実装されることを推奨します。