きりかノート 3冊め

おあそびプログラミング

RubyCocoa 1.2.0 リリース!

しました。ついにRuby 2.0以降に対応しました!(1.9は対応しません)

ちょっとパッケージング失敗したので、日本時間で今日の14:30以前にダウンロードした人は取り直したほうがよいかもです。

変更点をNEWS.jaから抜き出し。ruby-2.0対応したのが中心で、他は特にありません。

   == 1.1.0から1.2.0の変更点: 2014-07-27

   === 改良

     * ruby-2.0に対応しました。おおむねruby-1.8と同様に動作します。
       * RubyCocoaのインストーラはruby-1.8用と2.0用で別々のファイルとして
         リリースされます。RubyCocoaアプリケーションをOS X 10.9添付のruby-2.0で
         動作させてみたいときは、RubyCocoa.frameworkを入れ替えてください。
     * 存在しないメソッドが呼び出されたときの例外をNoMethodErrorに変更しました。
       (以前はOSX::OCMessageSendExceptionでした。)

   === 廃止された機能

     * CocoaClass#objc_export()は廃止されました。objc_method()を使ってください。
     * OSX::NSObject#ocm_responds?()は廃止される予定です。ocm_respond_to?()を使ってください。
     * OSX::NSData#dataWithRubyString()およびOSX::NSMutableData#dataWithRubyString()は
       廃止される予定です。[NSString dataUsingEncoding:]を使ってください。

   === 修正

     * Yosemite DP上でのビルドエラーを修正しました。

   === RubyCocoaをRuby-2.0上で使う際の注意

     * ruby-2.xの文字列はエンコーディングを保持するようになります。詳しくは
       https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/MigrationIssuesFrom18 や
       http://magazine.rubyist.net/?0025-Ruby19_m17n をごらんください。
     * (frameworkでない)bundleやdylibのObjective-CのクラスをRubyのコードで
       拡張したいときは、OSX.ns_importを書くようにしてください。

           require 'path/to/your_bundle.bundle'
           OSX.ns_import :YourClass
           module OSX
             class YourClass
               : # extend class in Ruby code
             end
           end

RubyCocoa.frameworkが、ruby-1.8用とruby-2.0用が存在することになるので、Finderに表示するようにしてみた。

今後の予定

このくらいですかねえ。

最後のはまだアタリもつけてないけど、簡単にできるとよいなあ。