第 1 回から第 4 回にも参加した RubyMotion もくもく会 in Osaka の 第 5 回 RubyMotion もくもく会 in Osaka に参加してきました。

今回も東京と同時開催でしたが、 接続などはせずに終わってしまいました。

次回の 第 6 回 RubyMotion もくもく会 in Osaka は 12/26(木) になりました。

話に出たもの

話に出てきたサイトなどのメモです。

やっていたこと

www.ruby-lang.org

www.ruby-lang.org のサイトデザイン募集 の投票を webmaster でやっていて、締め切りが今日だったということで、 投票しようかと思っていたら、 締め切りが 9:00 20 Nov(JST) だったのに気付いて諦めました。 まだ集計前だったようなので、間に合いそうでしたが、 無理はしないということにしました。

ちなみに 応募は7件 でした。

notification

最初は https://github.com/Watson1978/notification という OSX のサンプルをいじってみていました。

open ./build/MacOSX-10.8-Development/notification.app で開くと右上の通知はそもそも出てきているのかどうかわからない状態で終了してしまって、 通知センターを開くとちゃんと送れていることが確認できたり、 引数は -psn_なんとか という Emacs.app のカレントディレクトリ問題を調べていた時に見かけたものが渡ってきていたりしたのがわかりました。

Calc

RubyMotionSamples の osx に Calc というのが追加されていたので、 それを試していました。

デフォルトブラウザ設定

デフォルトブラウザはどこで設定しているんだろうと思って、 defaults read の出力を調べたりしていたら、 LSSetDefaultHandlerForURLSchemeLSSetDefaultRoleHandlerForContentType で設定できるとわかったので、 RubyMotion の中から呼び出そうとしたのですが、 NoMethodError になるだけで、 結局呼び出し方がわかりませんでした。

試したこととしては Calc のボタンと同じように ボタンが押された時に呼ばれるメソッドの中で、

    bundle_id = NSBundle.mainBundle.bundleIdentifier
    LSSetDefaultHandlerForURLScheme("http", bundle_id) #~> NoMethodError

のように呼び出そうとしたところ、 LSSetDefaultHandlerForURLSchemeNoMethodError になりました。

それから RakefileMotion::Project::App.setup do |app| のブロックで app.frameworks << 'ApplicationServices' のように ApplicationServices フレームワークを追加というのも試してみたのですが、 変化はありませんでした。

そんな感じで手詰まっていたら時間が来て終了ということになりました。

確認したバージョンは以下の通りです。

  • Mac OS X 10.8.5
  • Xcode 5.0.2
  • RubyMotion 2.14

解決

CoreServices が必要と教えてもらったので、 app.frameworks << 'CoreServices' も足してみたのですが、 NoMethodError のままで動かず、 結局 RubyMotion を 2.15 に上げると直っていました。

Disqus Comments

Kazuhiro NISHIYAMA

Ruby のコミッターとかやってます。 フルスタックエンジニア(って何?)かもしれません。 About znzに主なアカウントをまとめました。

znz znz


Published