きりかノート 3冊め

おあそびプログラミング

RubyCocoa-1.1.0 リリース!

しました。10.7用のdmgは、いるひとがいたら作るので言ってください。

今回の主な変更点は、

  • キャッシュの有効/無効を制御する$RUBYCOCOA_USE_OC2RBCACHEを導入。
  • standaloneify.rbが動かないケースを修正。
  • ruby-2.0でコンパイルが通るように。ただし動かない。
  • 10.5 Leopard以前のサポート終了。

あたりでしょうか。

リリースノート

NEWSファイルからだいたいコピペ。

   == 1.0.7から1.1.0の変更点: 2013-11-17

   === 改良

     * Xcode 5の"Modules"に対応。
     * Objective-CとRubyオブジェクトのキャッシュをグローバル変数
       $RUBYCOCOA_USE_OC2RBCACHEで無効にできるようになりました。[Experimental]
       この機能は、NSTableViewのdelegateなどでときどきキャッシュとRubyのGCで
       不整合が発生してアプリケーションがクラッシュしてしまうケースを回避する
       ために使用することができます。
       たとえば次のようにすると、アプリケーションでキャッシュが無効にできます。

           # rb_main.rb
           require 'osx/cocoa'

           def rb_main_init
             :
           end

           $RUBYCOCOA_USE_OC2RBCACHE = false # <= add!
           rb_main_init

   === 修正

     * standaloneify.rbがruby-2.0またはrubygems-2.1でエラーになる問題を修正。
     * Objective-CのオブジェクトをObject#dupしたときSEGVする問題を修正。

   === 廃止された機能

     * Objective-Cのクラス"RubyCocoa"は廃止されました。
       Objective-Cからrubyを呼び出すには、ランタイム関数を使ってください。
       それぞれ対応する関数は次のとおりです。

         - bundleInitWithProgram:class:param: -> RBBundleInit()
         - applicationInitWithProgram:argc:argv:param: -> RBApplicationInit()
         - applicationMainWithProgram:argc:argv: -> RBApplicationMain()

     * NSString|Stringの"NKF"拡張ライブラリを使っているメソッドを廃止しました。

         - NSString.guess_nsencoding
         - NSString.guess_encoding
         - NSString.stringWithRubyString
         - NSMutableString.stringWithRubyString
         - String.nsencoding

   === 備考

     * Mac OS X 10.5 or earlier not supported.

ウェブサイトをリニューアル

今までnanocで生成してた http://rubycocoa.sourceforge.net/ を、APIドキュメントつくるついでにyardに統一しました。APIのドキュメントもサイトに載せています。

素のスタイルなのでだいぶそっけない感じです。。

今後の予定

  • blocks対応
  • ruby 2.0対応
  • ドキュメントの拡充

あたりですかねえ。

podfileとかgemfileみたいのも導入したいけど、実装方針がぜんぜん固まってない。