#はじめに
RubyMotionチュートリアルのViews項目をやっていて詰まった部分を、あくまで自分用に記録しています。
私はRubyMotion、さらにはネイティブなiOSアプリの開発は初めてなので間違いだらけだと思いますがご容赦ください。
もし、間違いがあればコメントにて教えていただけると嬉しいです。
開発環境
・macOS Mojave(10.14.6)
・RubyMotion6.4
・Atom
##本題
先日、RubyMotionをインストールしてViwesのチュートリアル(下記)をしていたところ、rakeできませんでした。
app_delegate.rb
class AppDelegate
def application(application, didFinishLaunchingWithOptions:launchOptions)
@window = UIWindow.alloc.initWithFrame(UIScreen.mainScreen.bounds)
@window.makeKeyAndVisible
@blue_view = UIView.alloc.initWithFrame(CGRectMake(10, 10, 100, 100))
@blue_view.backgroundColor = UIColor.blueColor
@window.addSubview(@blue_view)
true
end
end
エラーの内容的には.makeKeyAndVisible
に対してエラーをはいているようですが、@window
に対してControllerを定義してあげないとうまくrake
できないようです。(.makeKeyAndVisibleより前に。)
app_delegate.rb
class AppDelegate
def application(application, didFinishLaunchingWithOptions:launchOptions)
@window = UIWindow.alloc.initWithFrame(UIScreen.mainScreen.bounds)
#この行を追加する。
@window.rootViewController = UIViewController.alloc.init
@window.makeKeyAndVisible
@blue_view = UIView.alloc.initWithFrame(CGRectMake(10, 10, 100, 100))
@blue_view.backgroundColor = UIColor.blueColor
@window.addSubview(@blue_view)
true
end
end
このように、コードを1行追加してみましょう。
結論
昔がどうだったのかわかりませんが、しっかりとrootViewController
を定義しなければいけません。
もし、rake
する際にエラーが起きたときは一度確認してみましょう。