RubyMotion 3.0, Android, WatchKit, a 30 day trial, a new website, and a new pricing model

This is exciting news for the RubyMotion community, Android is huge. The 30 day trial is big too and will help RM grow. The new website is great.

Happy coding, Todd Werth (@twerth)

RubyMotion News

Announcements from HipByte:

Announcing RubyMotion 3.0: Android Platform, WatchKit Apps, and More

Announcing New Pricing Plans

RubyMotion 3.30 released

  • [Android] RubyMotion for Android support has been merged. Please refer to the pre-release NEWS file for past changes, and check out our developer guides for more information about this new platform support.
  • [iOS] Added support for WatchKit applications.
    • Add a target to your iOS application by creating a WatchKit project with the command: $ motion create MyWatchApp --template=ios-watch-extension and then configure your iOS application by adding: 'path/to/MyWatchApp', :extension
    • Then from the root of your iOS application, not the WatchKit application, invoke $ rake watch to build your iOS and WatchKit applications and launch the WatchKit application on the simulator.
    • Additional launch options are type=glance for Glance applications, type=notification payload=path/to/payload.json for Notification applications, and display=regular or display=compact to launch the 42mm or 38mm Watch displays respectively.
  • [iOS] Added support for specifying launch images from asset catalogs.
  • Added support for iOS 8.2 (beta). You will need to install an Xcode 6.2 beta to support it.
  • [iOS] Fix `rake crashlog:device’ crash report symbolication.
  • [iOS] Fixed a bug where Bundler wouldn’t be used when it will build Extensions and Frameworks.
  • [iOS] Create a UIViewController, UINavigationController, and UIWindow in the default new application template.
  • [OSX] Only build for 64-bit (x86_64) by default.
  • [iOS] Enabled arm64 support by default for iOS projects.
  • [iOS] Honour explicit device_name or target specified by user. Specifying both is disallowed, because a device is configured for a specific SDK.
  • [iOS] Fixed a regression where Extension and Frameworks could not build for the iOS device platform.
  • [iOS] Fixed a bug where `rake spec’ would return 0 as exit code even if it failed due to a crash.
  • [iOS] Fixed a bug in `rake spec’ where #tap and #rotate_device were causing a crash when ran in 64-bit mode (simulator).
  • [iOS] Fixed a bug where all rake task could not be run under the root directory of Extension or Framework, preventing CocoaPods libraries to be installed properly.
  • [iOS] Fixed a bug where shared frameworks would not be built for 64-bit.
  • [iOS] Fixed a bug where it was not possible to customize the Action and Share extension’s icon. The `app.icons’ property can now be set in the extension’s Rakefile.
  • [iOS] Fixed a bug where extensions could not be built if Bundler was not installed due to a Pathname dependency.
  • [iOS] Added launch images for iPhone 6 and iPhone 6 Plus. Thanks to Hwee-Boon Yar for the patch (pull request #170).
  • [iOS] Fixed the “ERROR ITMS-9000” error when trying to submit an app that contained extensions. Thanks to Hwee-Boon Yar for patch.
  • [iOS] Fixed a bug where the relative path cannot be used in `app.provisioning_profile’.
  • [iOS] Fixed a bug where iPad simulator would not launch app as 64-bit even if app contains 64-bit binary. Changed default simulator to `iPad Air’.
  • Fixed a regression where a link error would be caused in Xcode when trying to use a static library which was generated by `rake static’.
  • Fixed a bug where the wrong Boxed object would be returned from an Objective-C method.
  • Fixed the `motion support’ command invocation to print both the stable and pre-release versions of RubyMotion.
  • Fixed a bug where a “Symbol not found” exception would be triggered when trying to use a constant which was not defined in an older SDK version.
  • Fixed a bug which it would not solve framework dependencies in embedded frameworks.
  • Fixed a memory leak when invoking blocks passed to Dispatch::Queue.
  • Fixed a bug where `rake profile’ could not launch when being given the Instruments template with Xcode 6.2 Beta.

sudo motion update

64 bit

Will Raxworthy, here at InfiniteRed, noted that in version 3.0 of RM iOS, 64bit is turned on by default. Some gems and such aren’t working yet with 64bit. To turn it back to 32bit do this in your Rakefile:

app.archs["iPhoneOS"] = ["armv7"]`


My company InfiniteRed sponsors this newsletter by allowing me the time to work on it every week and hosting everything.

Contact us if you ever need help working on a project, mentoring, or other development services . We specialize in RubyMotion and have an awesome team.


If you have any tips, blog posts, or comments, please send emails to