RubyCocoa Leopard版 つまづいた・・・

2007年11月20日火曜日
普通にX+Y = Zという形の計算機をつくって、おーできたできた、と思うところまでは良かったんですが・・・。

じゃあ次はCoreDataだと思って、一番簡単なモデルつくってドラッグアンドドロップで表を作るのをやって、ビルドしてみると・・・なんかこけるんです。


/Users/***/Documents/xcode_edu/TestCored/build/Release/TestCored.app/Contents/Resources/TestCoredAppDelegate.rb:9: undefined method `require_framework' for main:Object (NoMethodError)



どうもrequire_frameworkがうまくいってないみたいなんですが・・・。Xcodeをターミナルからアンインストールして、再度インストールしてみたりしたのですが同じ症状。うーん。自分で作った奴だからかとおもって、Examplesの中のStikiesをビルドしてみたのですが、再びエラー。


/Library/Frameworks/RubyCocoa.framework/Resources/ruby/osx/objc/oc_wrapper.rb:17:in `ocm_send': StickiesAppDelegate#ib:action: - methodSignature is nil.


分からない・・・。ExamplesのRubyCocoaじゃないStikiesはOKだったんですけどね。要はObjective-Cを使えってことなのでしょうか・・・。

どなたかアドバイスありましたらよろしくおねがいします。

(11/21追記)

自己解決。というか、2ちゃんねる新・Mac板のRubyCocoaスレ様々。同じようなエラーを誰かが報告していて、それに対して/System・・・じゃなくて/Library・・・になってるから、Tigerの頃からRubyCocoaをインストールしてて、それが悪さしてるのでは?とレスしてて、私もさっそく/Library/framework以下のRubyCocoaを全削除したら、今までなんか大量に出ていたエラーがウソのように消えました。

また、ModelからIBに対してドラッグ&ドロップしただけで前はすぐに出来ていたように思うのですが、Cannot perform operation without a managed object contextというエラーが出るので、再度IBを確認したところ、自動生成したArrayにManaged object contextをバインドしなければならなかったのでした
(以下の画像参照)。ちょっと不親切?

managed.jpg



2 コメント:

  • え〜と、以前、私も同様なことで悩んだので
    私の例を述べてみます、参考になれば幸いです。
    以下、私の起きた現象への素人の推論とぶっつけ治療なので、
    他からも裏を取ってもらう方が安全だと思います。
    恐らくポイントは、
    LeopardのRubyCocoa→/System/Library/Frameworks以下にある
    TigerでインストールしたRubyCocoa→/Library/Frameworks以下にある
    なんじゃないかと考えてます。
    私の場合、TigerでRubyCocoaをインストールしていて、
    Leopardに移行する時にTigerからアプリケーションを移すとか
    そういう感じの作業をやったのですが、
    そうするとどうやら/Library/Frameworks以下に
    Tiger時代の古いRubyCocoaが引っ越してくるようなのです。
    そうすると、どうやらTigerなRubyCocoaが優先されて
    Leopardの方にアクセスしてくれず妙なことになるようです。
    なので、/Library/Frameworks以下のRubyCocoaを
    どっか影響のでない所に隠してみたのですが、
    そうしたらLeopardのXcode3.0な環境でも普通に作業が
    出来るようになりました。
    以上です。

  • wfaceさん
    コメントありがとうございます!
    コメントに気づいていなくてごめんなさい。誰かが書いてくれるかなーと思ってコメント待っていたので、とても嬉しいです。
    実は昨日たまたま別のところで(2ちゃんねるですが(笑))同じことが書かれていたので、/Library/Frameworks/以下を削除してみたら、あらびっくり。今まで出ていた不具合がウソのように消えました。
    今後ともどうぞよろしくお願いいたします。

  • コメントを投稿