MacRubyでTwitterクライアントを作ってみた | あわあわのブログ

あわあわのブログ

iPhone脱獄のいろいろ

MacRubyというのはrubyとObjective-cをお鍋でぐつぐつまぜまぜして、Macアプリケーションをrubyっぽくプログラミングして作れるようにするというプロジェクトです。

・・・というわけでRubyでMacアプリ作れちゃうんです。

というわけでMacRubyを使ってTwitterクライアントを作ってみました!


スクリーンショット


・メインウィンドウ
AkarinBall 1
AkarinBall 1 posted by (C)あわあわ

・Twitter Oauth認証画面
AkarinBall 2
AkarinBall 2 posted by (C)あわあわ

・アイコン
AkarinBall
AkarinBall posted by (C)あわあわ


機能


  • UserStream対応(UserStreamしか無い)

  • ミニビュー(ミニビューしか無い)

  • サムネイル表示

  • エンター投稿

  • リツイート

  • お気に入り

  • パクリ

・・・・・などなど


特徴


  • 動きません。

  • TLが早くないとUserStreamしか無いのでツイートが流れて来ません。

  • キーボードショートカットに対応していないので下のボタンを使ってリツイートやお気に入りの操作を行います。

  • TLが早いと選択しているツイートがずれてしまい誤ふぁぼなどが起きます。

  • TLが早いと表示バグが発生します。

  • めちゃくちゃ重いです。

  • 動きません。



えっ?


【追記8/30】問題を解決し、無事動作するようになりました!
こちらの記事を御覧ください。
動作するようになった。MacRubyでTwitterクライアントを作ってみた


本題に戻ります


作ったクライアントの概要はこんなかんじです。
170行のrubyで作れました。

MacRubyで普通のクライアントとして成り立つための機能を備えたクライアントが作れました。
Objective-cはよくわからないのでウィンドウの表示やアラートの表示方法などは結構苦労しました・・・

こんなかんじにUIを設計して、

AkarinBall Xcode 1
AkarinBall Xcode 1 posted by (C)あわあわ

あとはrubyでプログラムを書いていきます。

AkarinBall Xcode 2
AkarinBall Xcode 2 posted by (C)あわあわ

MacRubyは基本はrubyですのでgemも使えます。動かないものもあるようですが・・・

今回のクライアントではoauthを使ってます。

またMacRubyについてはこちらを見るととてもわかり易いです。
環境の作り方からチュートリアルまで日本語に翻訳されています。

MacRuby DoJo (道場)

みなさんも作ってみてください。

です。


・・・・・・・不満の声が聞こえる気がしますね!

特徴がなくて短所しかありませんね!

特徴が無いのが特徴。

\アッカリ~ン/

では説明します。

実際起動仕掛けて落ちます。

では動かないのになんでスクリーンショットがあるのでしょうか。

実はXcode上でデバッグするときには正常に起動します。しかしDeploymentというアプリとして書きだす作業をするとなぜか動かなくなってしまいました。

原因を色々探ってみた結果ファイルのアクセスに関するところでエラーが起きているみたいです。

ファイルの読み書きを行う方法を色々試してみた結果、すべてダメでした。

ファイルにアクセスするときに何か許可がいるのかもしれません・・・

twitterの認証したデータを保存しなくてはならないのでファイルのアクセスができない場合そもそもクライアントとして使えません・・・

そして認証したデータをそのままテキストとして保存してあるのでセキュリティ的にも不安なきがします。

あとちょっとTwitterの規約に当てはまらない点があるので公開はできません。

ただ、こんかいは作ってみただけですので一応githubにコードを公開してあります。

https://github.com/pnlybubbles/AkarinBall

環境がある方は試してみてください。

あとgithubの使いかがいまいちわかっていないです。

もしファイルの読み込みなど分かった方がいましたらコメントかTwitter(@pn1y)かgithub(?)までお願いします。