きりかノート 3冊め

おあそびプログラミング

RubyCocoa-1.0.4 リリース!

しました。前のバージョンから約1年ぶりです。

http://sourceforge.net/projects/rubycocoa/files/RubyCocoa/1.0.4/

リリースノート

NEWSファイルから抜きだし。

   == 1.0.3から1.0.4の変更点: 2012-08-27

   === 修正

     * RubyCocoa-1.0.3の初期化時のメモリリークを修正しました。
     * ネストしたフレームワークのbridgesupportファイルが読み込まれない
       問題を修正しました。 たとえば、
       QuartzCore.framework/Frameworks/CoreImage.framework などです。


   == 1.0.2から1.0.3の変更点: 2012-08-26 (Not released)

   === 改良

     * 環境変数RUBYCOCOA_DEBUGをセットするとデバッグモードになるようにしました。
     * Xcode 4.x用のプロジェクトテンプレートを用意してみました。[Experimental]
       テンプレートは ~/Library/Developer/Xcode/Templates 以下に配置する必要が
       あります。
       以下のコマンドでテンプレートを使用することができます。

           $ svn export --force https://rubycocoa.svn.sourceforge.net/svnroot/rubycocoa/trunk/src/template/Xcode4.x/Templates ~/Library/Developer/Xcode/Templates


   === 修正

     * Xcode-4の"Run"ボタンでRubyCocoaアプリを起動すると以下のエラーで
       起動できない問題を修正しました。

           "invalid option -N (-h will show valid options)".
           Now RubyCocoa apps do not process commandline options such as "-d".

       LionのOS付属のRubyCocoaでこの問題を回避するためには、以下のように
       main.mとrb_main.rbを修正してください。

           diff -ur old/main.m new/main.m
           --- old/main.m  2011-11-19 15:49:58.000000000 +0900
           +++ new/main.m  2011-11-19 15:49:16.000000000 +0900
           @@ -11,5 +11,6 @@

            int main(int argc, const char *argv[])
            {
           -    return RBApplicationMain("rb_main.rb", argc, argv);
           +    RBApplicationInit("rb_main.rb", argc, argv, nil);
           +    return NSApplicationMain(argc, argv);
            }
           diff -ur old/rb_main.rb new/rb_main.rb
           --- old/rb_main.rb      2011-11-19 15:49:58.000000000 +0900
           +++ new/rb_main.rb      2011-11-19 15:49:16.000000000 +0900
           @@ -17,7 +17,4 @@
              end
            end

           -if $0 == __FILE__ then
           -  rb_main_init
           -  OSX.NSApplicationMain(0, nil)
           -end
           +rb_main_init

       RBApplicationInit()はバージョン0.12.0から利用できる関数です。
       (LeopardのRubyCocoaのバージョンは0.13)

     * NSBundle.loadNibNamed_owner(nibname, owner)がLion以降で例外が起きて
       しまう問題を修正しました。

あと、こっそりsamplesのjamベース(Project Builder形式)のプログラムをXcodeネイティブターゲットに更新しました。Xcode 4でもひととおりサンプルが動かせるようになっているはずです。

今後の予定

去年と変わっていません。ほんとすまぬ。

  • スクロールで落ちる件の調査と修正(再現した)
  • ホームページ(rubycocoa.sf.net)がおかしいのでできれば直したい。sf.netのデータベースのアクセス方式が変わったとかなんだよな。たしか。

あと追加。

  • プロジェクトテンプレートのXcode 4対応をもっと
    • Xcode 4.4対応(現在は4.2ベースのテンプレート)
    • FRAMEWORK_SEARCH_PATHに/Library/Frameworkを追加

(8/28 追記)githubにミラー置いてるんでそっちにissueとかpull requestしてくれてもいいです。基本的にdevelopブランチが最新のコードになっています。