ブックマーク / watson1978.github.io (20)

  • Xcode 5 Developer Preview を使って RubyMotion アプリをビルドする方法 - Watson's Blog

    http://rubymotion-tokyo.doorkeeper.jp/events/5652 に参加しながら、もくもくとブログを書いてます。 Xcode 5 Developer Preview を使って RubyMotion アプリをビルドする方法が分からないという方がおりましたので、今回はその方法を書いてみたいと思います。 xcode-select を設定する xcode-select --print-path を実行すると、デフォルトで使用する Xcode のパスが表示されます。 1 2 % xcode-select --print-path /Applications/Xcode.app/Contents/Developer xcode-select --switch を使用し、これを Xcode 5 のパスへ変更します。 1 % sudo xcode-select --swi

    Xcode 5 Developer Preview を使って RubyMotion アプリをビルドする方法 - Watson's Blog
    amazedkoumei
    amazedkoumei 2013/09/11
    某老舗ベンチャーの元 CTO の方じゃないですか!w
  • RubyMotion でスタティックライブラリを作成し、 Xcode プロジェクトで利用する - Watson's Blog

    RubyMotion Kaigi で質問があったので、RubyMotion を使ったスタティックライブラリの作り方と、Xcode プロジェクトへの組み込み方について書いてみました。 RubyMotion プロジェクトを作成する まずは、RubyMotion のプロジェクトを作成してみます。 1 2 3 4 5 6 7 % motion create TestStatic Create TestStatic Create TestStatic/.gitignore Create TestStatic/app/app_delegate.rb Create TestStatic/Rakefile Create TestStatic/resources/Default-568h@2x.png Create TestStatic/spec/main_spec.rb アプリケーションが起動する際にイン

    RubyMotion でスタティックライブラリを作成し、 Xcode プロジェクトで利用する - Watson's Blog
  • RubyMotion Kaigi 2013 と簡単に Objective-C を実行する方法 - Watson's Blog

    Ruby Kaigi の前日、5月29日に RubyMotion Kaigi 2013 で発表をしてきました。 誰か:「英語が苦手で良く勤まっていますね?」 私:「何を言っているのか わからねーと思うが. おれもどうしてこーなったかわからなかった・・・。」 よく分からないけど、気づいたら RubyMotion を開発していたので、発表をすることになりました。 話した内容はひととおりスライドに書いてあるので、補足的に Ruby と Objective-C のコードを組み合わせて実行しているところを説明したいと思います。 Objective-C のコードはベンダーライブラリとして組み込んでいるのですが、Rakefile に 1 app.vendor_project('vendor', :static) とシンプルに設定しているだけです。あとは vendor ディレクトリに Objective-

    RubyMotion Kaigi 2013 と簡単に Objective-C を実行する方法 - Watson's Blog
  • RubyMotion Conference 2013 - Watson's Blog

    RubyMotion Conference に参加するため @satococoa さんとベルギーへ行ってきました。私の残念な英語力で理解できた範囲でとりとめもなく書いています。 1 日目 A Brave New World: Learning iOS for the Ruby Refugee : Nick Quaranto Basecamp を作る際に、アプリの設定周りは motion-settings-bundle、UI のレイアウトは motion-layouts と gem を作ったんだという話でした。 Behaviour Driven Motion using Calabash : Karl Krukow Karl は Calabash というテストフレームワークをメンテナンスしているんだって。 https://github.com/calabash/calabash-androi

    RubyMotion Conference 2013 - Watson's Blog
  • jenkins-rubymotion-plugin ってものを作ってます - Watson's Blog

    以前、RubyMotion アプリを Jenkins でテスト実行してみよう や Jenkins に TAP Plugin というものを導入しました で RubyMotion アプリを Jenkins を使ってテストする方法について書きました。 今回はプラグインを作ってみたよってお話です。 RubyMotion に日々変更を加えており、既存のライブラリに影響がないか確認するために Jenkins にいろいろメジャーなものを登録してテストしています。 さすがにライブラリの数が多くなってきて、どうにかもう少し簡単にそれらを Jenkins に登録できないかなぁと思っていたところ、jenkins-rbenv-plugin というプラグインを作り始めた を読んで、結構簡単にプラグインを作れるのかなと錯覚して作り始めました。 https://github.com/Watson1978/jenkins

    jenkins-rubymotion-plugin ってものを作ってます - Watson's Blog
  • 東京 Ruby 会議 10 3日目にいってきました - Watson's Blog

    @satococoa さんが RubyMotion について話されるというので行ってきましたよ、東京 Ruby 会議 10 の 3 日目に。 @satococoa さんが発表の前に壇上からアンケートをとっていたので興味深く拝見しました。 RubyMotion の認知度は 8 - 9 割くらい。@satococoa さんや @naoya_ito さんの宣伝のおかげですね。ありがとうございます。 購入した方は、ぱっと見て居ないんじゃないかと言うくらい・・・。 UITableView を実装した RubyMotion アプリ上に、BubbleWrap という gem を使用して rails サーバからデータを取得し表示するというものを、一からライブコーディングされていました (rails サーバ側は事前に用意されてました)。 15 分という持ち時間でちゃんと動くものになっていたのは圧巻で、観衆の

    東京 Ruby 会議 10 3日目にいってきました - Watson's Blog
  • 第一回 RubyMotion 勉強会に参加してきました。 - Watson's Blog

    今日は RubyMotion 勉強会に参加してきました。 13時半頃に会場最寄りの麹町駅に到着したのですが、駅を出てからの一歩目の方向を間違えてしまい、いきなり迷ってしまいました。しかも会場である「住友不動産麹町ビル3号」とは別に「住友不動産麹ビル」というビルを見つけてしまい、しばらく右往左往してこの時点で無駄に体力を消費してしまい死にそうでした。tweet して助けを求めるとやはり違うところに来てしまったことが判明し、なんとか無事に会場にたどり着くことができました・・・。 MacRubyRubyMotion が CRuby とどう違っているのかという普段 MacRuby のパッチを書いている立場の視点から資料を用意したのですが、Ruby を知らない人を全力で置き去りにしてしまう内容になってしまったのは申しわけありませんでした・・・。 発表資料は、Speaker Deck に置いてお

    第一回 RubyMotion 勉強会に参加してきました。 - Watson's Blog
  • Jenkins に TAP Plugin というものを導入しました - Watson's Blog

    Amazon で手頃な Mac mini を購入して、Jenkins で日々 RubyMotion をテストしています。 テスト実行結果の出力形式として Test Anything Protocol (TAP) というものがあります。 RubyMotion では Spec を実行する際に output という環境変数で出力形式を TAP にすることができます(他にも spec_dox, fast, test_unit, knock, rubymine を指定できます)。 1 $ rake spec output=tap Jenkins では TAP Plugin というプラグインを導入すると、この TAP 形式に対応することができます。これを導入するとテスト数の増減(Faild が増えたとか)がグラフ表示されておしゃれな感じです。 TAP Plugin の導入 Jenkins のプラグイン

    Jenkins に TAP Plugin というものを導入しました - Watson's Blog
  • motion-pixate-observer という gem を作りました - Watson's Blog

    いやー、Pixate は素晴らしいですね。CSS でデザインできることがこんなに楽だったのかと改めて痛感しております。 ただ使っているうちに CSS を変更するたびに rake を実行し rebuild してデザインを確認するのが面倒くさい、もっと楽にならんのかと欲がでてきてしまいました。 最初は https://gist.github.com/4573005 で、 HTTP サーバに CSS ファイルを置いて更新用のボタンなど押す HTTP サーバ から CSS をダウンロードしてデザインを更新 というフローでやっていたのですが、サーバが決め打ちで柔軟性を持たせようとすると iOS アプリ側でサーバのアドレスを変更できるようにしないといけなくて面倒、さらに更新用のボタンを押すことすら面倒かもと、面倒なことが多すぎ!! ということで、RubyMotion もくもく会で motion-pix

    motion-pixate-observer という gem を作りました - Watson's Blog
    amazedkoumei
    amazedkoumei 2013/01/25
    『これ使ってなにしてやろうかー』とついつい考えさせられちゃうものおれも作りたいのだー
  • 設定情報の管理に pit を使ってみた - Watson's Blog

    先日、Pixate のライセンスを購入してみました。kickstarter でデモ動画がアップされたときには、「これだ!」とか意味不明に感動した覚えがあります。 Pixate からユーザ名やライセンスキーがメールで送られてきたのですが、これをプロジェクトを作成するたびに記述するのが面倒、というか GitHub にアップロードしたら悲惨なことになりそうなので、どうにか設定部分を分離したいなと。 自前で、yaml ファイルなどに設定情報を分離して、それを読み込むのもプロジェクトを作るたびごとだと面倒ですね。 ということで、pit というものを使ってみました。 1 $ gem install pit とターミナルでコマンドを実行して pit をインストールします。 使い方は アカウント情報を管理するコマンド pit を見ていただければ良いかと思います。 RubyMotion の Rakefile

    設定情報の管理に pit を使ってみた - Watson's Blog
  • RubyMotion の class について - Watson's Blog

    この記事は RubyMotion Advent Calendar 2012 の 20 日目の記事です。 どのような記事を書こうかずいぶん悩んでいたのですが、第一回 RubyMotion 勉強会 の資料からクラスの部分を抜き出して手直ししようと言う手抜きぶりです。 RubyMotion はすべて Objective-C のクラス CRuby ではルートクラスとして Object というクラスが存在します(Ruby 1.9 からだと BasicObject というのもありますが)。これに対して Objective-C では NSObject というクラスがルートクラスとして存在しています。似たようなクラスがお互いにルートクラスに存在していますね。 RubyMotion では NSObject を Ruby の Object として利用し、ほかのルビーのクラスを構築しています。RubyMotio

    RubyMotion の class について - Watson's Blog
  • RubyMotion でビルドする CPU アーキテクチャを指定する - Watson's Blog

    この記事は RubyMotion Advent Calendar 2012 の 15 日目の記事です。 今回はRubyMotion でビルドする際に CPU アーキテクチャを指定する方法について書きます。 iOS SDK がサポートする CPU アーキテクチャ iOS SDK がサポートする CPU アーキテクチャは以下の表のようになっています。 iOS SDK バージョンサポート CPU アーキテクチャ iOS 4.3armv6, armv7 iOS 5.0armv7 iOS 5.1armv7 iOS 6.0armv7, armv7s RubyMotion では iOS SDK がサポートしている CPU アーキテクチャにあわせてビルドが行われます。ビルド対象を iOS 6.0 にすると armv7 と armv7s を対象にビルドが行われます。 たいていは問題がないのですが、サードパー

    RubyMotion でビルドする CPU アーキテクチャを指定する - Watson's Blog
  • RubyMotion の autorelease_pool の使い方 - Watson's Blog

    この記事は RubyMotion Advent Calendar 2012 の 10 日目の記事です。 つい最近ようやく RubyMotion API Reference が公開されましたが、みなさん見ていただけたでしょうか?RubyMotion のバグを取っていて、「このメソッド初めて見るんだけど何もの?」「ドキュメントが必要だよねぇ」みたいなやりとりをしながら、一生懸命リファレンスを作りました。 今回は autorelease_pool の使い方について書きます。 メモリサイクル iOS では、ボタンをタップなどするとイベントが発生します。イベントの開始時に自動的にメモリプールを生成し、イベント終了時にプールをリリースします。このときメモリプールに登録されている不要になったオブジェクトが一緒にリリースされます。 RubyMotion で作られたアプリも、これに従って不要になったオブジェ

    RubyMotion の autorelease_pool の使い方 - Watson's Blog
  • 短いメソッドは grep で探すの大変ですよね - Watson's Blog

    この記事は RubyMotion Advent Calendar 2012 の 9 日目の記事です。 タイトルそのままなのですが、短いメソッドなどを探すのって大変ですよね。デバッグのために仕込んだ p メソッドを取り外そうと検索すると、いろいろなものに紛れ込んでしまいますよね。 grep で検索すると・・・ grep で検索するといろいろなノイズに紛れ込んでしまいます。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 $ grep "p" -r **/*.rb app/app_delegate.rb:1:class AppDelegate app/app_delegate.rb:2: def application(application, didFinishLaunchingWithOptions:launchOptions) app/controll

    短いメソッドは grep で探すの大変ですよね - Watson's Blog
  • RubyMotion アプリを Jenkins でテスト実行してみよう - Watson's Blog

    この記事は RubyMotion Advent Calendar 2012 の 7 日目の記事です。 最近になってようやく Jenkins を使い始めてみたので、RubyMotion アプリを Jenkins でテスト実行する方法について調べてみました。 Jenkins をインストール Homebrew を利用してインストールしました。

    RubyMotion アプリを Jenkins でテスト実行してみよう - Watson's Blog
  • Proxy サーバを用意して HTTP 通信をテストしよう - Watson's Blog

    この記事は RubyMotion Advent Calendar 2012 の 4 日目の記事です。 以前「RubyMotion もくもく会」で HTTP 通信のテストはどうすれば良いのだろうかという話題でモックを用意するのですかねと話が収束したのですが、面倒だし極力アプリに手を加えたくないなぁと一人もやもやしておりました。 Proxy サーバを用意すれば比較的簡単にテストできるんじゃないかと思い、ブログに書いてみました。 きっかけは 何を検索していてたどり着いたのかは忘れましたが、http://ja.favstar.fm/users/Psychs/status/3507370903 というツイートを見かけ、 さすが @Psychs 先生。神!と思った次第です。iOS シミュレータなど Cocoa API を使ったアプリの HTTP 通信は簡単に Proxy を経由するように設定できるわけ

    Proxy サーバを用意して HTTP 通信をテストしよう - Watson's Blog
    amazedkoumei
    amazedkoumei 2012/12/04
    WEBrickを!!Rubymotionで動かしたい!!w
  • RubyMotion アプリで DTrace を使ってみよう - Watson's Blog

    この記事は RubyMotion Advent Calendar 2012 の 3 日目の記事です。 DTrace は Sun Microsystems が開発した実行中のアプリの情報を取得する仕組みです。DTrace を使用するとアプリケーションを一切変更することなく情報取得を可能にします。 Xcode に付属している Instruments が様々な情報を表示できるのは、縁の下に DTrace が存在しているからです。 Ruby 2.0 preview2 でいよいよ DTrace がサポートされましたが、MacRubyRubyMotion ではすでに DTrace をサポートしています。 プローブを確認してみる DTrace では、アプリに埋め込まれている「プローブ」と呼ばれる計測ポイントを用い、追跡をおこないます。 現在利用可能なプローブの一覧は sudo dtrace -l

    RubyMotion アプリで DTrace を使ってみよう - Watson's Blog
  • RubyMotion で使う iOS スタティックライブラリを作る - Watson's Blog

    今日はどのように iOS スタティックライブラリを作るのか、Xcode と格闘していました。 何も考えずにビルドしてしまうと ARM 用のバイナリのみのライブラリができてしまい、i386 バイナリを必要とするシミュレータ用には使えません。 ビルドの仕方がわからずに、どうすればライブラリが作れるか試行錯誤の課程を書きます。 ライブラリ用のプロジェクトを作成 Xcode で “Cocoa Touch Static Library” というテンプレートを選択し、スタティックライブラリ用のプロジェクトを作成します。 あとは、ライブラリで必要なプログラムを書きます。 ビルドする ARMv6、ARMv7、i386 バイナリを含むユニバーサルなライブラリが欲しいのですが、Xcode でどのようにビルドすれば良いのかわからず途中であきらめ、Terminal 上での操作しました。 Terminal で作成し

    RubyMotion で使う iOS スタティックライブラリを作る - Watson's Blog
  • Sublime Text を導入して RubyMotion アプリ開発をもっと楽しいものに - Watson's Blog

    Twitter のつぶやきを眺めていると、RubyMotion アプリ開発では Sublime Text をエディタに使うのが定番になってきた感じがします。 いい加減、私もライセンスを購入しないといけないなと思いつつ、環境構築の手順などをまとめておきます。 1. Sublime Text をインストール 公式サイト から Sublime Text をダウンロードしてインストールします。 2. Sublime Package Control をインストール Sublime Text は Python で plugin を作成でき、さまざまな機能追加ができるようになっています。Github などを眺めていると便利な plugin がパッケージとしていろいろあります。Package Control は、それらパッケージのインストールや不要になった際にはアンインストールしたりと、文字通りパッケージ

    Sublime Text を導入して RubyMotion アプリ開発をもっと楽しいものに - Watson's Blog
    amazedkoumei
    amazedkoumei 2012/09/20
    SublimeLinter/sublimelinter/modules のディレクトリまで行き、ruby_motion.py というファイルを作成
  • RubyMotion ではじめるGoogle Analytics for iOS - Watson's Blog

    アプリがどれだけダウンロードされているか開発者なら誰もが気になるところでしょうが、どの機能がどれだけ使われているかといったことも気になるところがと思います。 Google Analytics for iOS を利用すると、ユーザが使用している機能を簡単にトラッキングすることができます。 トラッキング ID を発行する Google Analytics の「アカウントの管理」画面で新しいアカウントを追加します。 次にアカウント名などの情報を記入します。 「ウェブサイトのURL」では “ウェブサイト以外"、「タイムゾーン」は "日” を選択しておくとよいでしょう。 アカウントを作成した後、"UA-xxxxxxxx-1" のようなトラッキング ID が発行されます。あとで使用するので控えておいてください。 Google Analytics SDK for iOS をダウンロード Google

    RubyMotion ではじめるGoogle Analytics for iOS - Watson's Blog
    amazedkoumei
    amazedkoumei 2012/08/31
    けっこうみんなやってるのかなー。Analyticsでのトラッキング。
  • 1