2012年9月29日土曜日

rubymotion用ライブラリの作り方

ライブラリのコードは予め書いておき、またrubygemsに公開するなら、
そのアカウントを取得しておく。

適当なフォルダで
# bundle gem motion-hogehoge
で、gemの雛形を作成

.gemspecに必要な項目を入力。
依存ライブラリがある場合は、ここに
gem.add_dependency "bubble-wrap", "~>1.1.4"
などと追記しておく。

次に、lib/motion-hogehoge.rbというファイルができているので、ここを修正。
rubymotionではrequireが対応していないので、rubymotion用に書き直す必要がある。
以下がサンプル

  1. unless defined?(Motion::Project::Config)  
  2.   raise "This file must be required within a RubyMotion project Rakefile."  
  3. end  
  4.   
  5. Motion::Project::App.setup do |app|  
  6.   Dir.glob(File.join(File.dirname(__FILE__), 'motion-hogehoge/*rb')).each do |file|  
  7.     app.files.unshift(file)  
  8.   end  
  9. end  

ライブラリのコードは、lib/motion-hogehoge/以下に入れておく。

rubygemsに登録する場合は、テストが通ってる必要がある。
とりあえず通すだけなら、以下でOK。

app/app_delegate.rbに
  1. class AppDelegate  
  2.   def application(application, didFinishLaunchingWithOptions:launchOptions)  
  3.     @window = UIWindow.alloc.initWithFrame(UIScreen.mainScreen.bounds)  
  4.     @window.rootViewController = UIViewController.alloc.init  
  5.     @window.makeKeyAndVisible  
  6.     true  
  7.   end  
  8. end  
spec/main_spec.rbに
  1. describe "Application 'modeltest'" do  
  2.   before do  
  3.     @app = UIApplication.sharedApplication  
  4.   end  
  5.   
  6.   it "has one window" do  
  7.     @app.windows.size.should == 1  
  8.   end  
  9. end  

で、
#bundle install
#rake spec
でテストが通ることを確認する。

問題がなければ、
gem build motion-hogehoge.gemspec
で、gemファイルを作成し、

gem push motion-hogehoge-0.0.1.gem
で、rubygemsにアップする。

アップするときに取得したアカウント情報が聞かれるので入力すればOK。

0 件のコメント:

コメントを投稿