People like the new by-week/alert format of the Dispatch

After I sent out the first alert last week, some people contacted me and they liked the idea. So I’ll go ahead and use the new system.

If you missed the last issue, you can find it here: issue #47.

Happy coding, Todd Werth (@twerth)

Articles, News, New Gems, and Blog Posts

October 31st, 2014 | slide deck | by MichaƂ Taszycki
Ruby – Write Once, Run Anywhere – Polyconf 2014

October 30th, 2014 | blog post | by Mark Rickert
Prepending the Default RubyMotion Build Task [UPDATED]

October 29th, 2014 | blog post | by Philipp Fehre
Using Couchbase Lite from RubyMotion

October 26th, 2014 | screencast | by Jack Watson-Hamblin
MotionInMotion – RubyMotion for Rails Developers: View Controllers in depth (Part 1)

October 26th, 2014 | video | by Nikolay Nemshilov
Native iOS Development with RubyMotion and UnderOS

October 20th, 2014 | blog post | by Brian Pattison
Ruby All the iOS 8 Push Notifications!

October 20th, 2014 | screencast | by Jack Watson-Hamblin
MotionInMotion – RubyMotion for Rails Developers: Views and View Controllers

October 15th, 2014 | blog post | by bwarner
App to Distribution to iTunes

RubyMotion News

New 3.0 prerelease (Android)

A new 3.0 prerelease (Android) is out: some compiler and build improvements, more Ruby methods and bug fixes. Enjoy and please keep testing!

sudo motion update --pre

RubyMotion Tip

UIAppearance protocol

The SDK has a concept called the UIAppearance protocol. It’s basically a global place to set various styles.

There are some problems with it:

  • You can only set some attributes on some views and controllers
  • The styles only get applied when a view is created, so you can’t use it for theming, where you need to change the theme while screens are already loaded

You still should use it, because if you can set something’s appearance it saves you from styling it throughout the app.

I usually create an StandardAppearance class like so:

class StandardAppearance
  def self.apply(window)
    Dispatch.once do

      UIWindow.appearance.tap do |o|
        o.tintColor = UIColor.redColor
        # set other attributes here


Then I call it in AppDelegate:

StandardAppearance.apply @window

Or if I’m using RMQ (which of course I am), I call it in ApplicationStylesheet so that I can use my named colors, named fonts, etc:

class ApplicationStylesheet < RubyMotionQuery::Stylesheet

  def application_setup
    color.add_named :apricot, '#EEAA22'



The following have attributes you can set with appearance:

  • UIActivityIndicatorView
  • UIBarButtonItem
  • UIBarItem
  • UINavigationBar
  • UIPopoverController
  • UIProgressView
  • UISearchBar
  • UISegmentedControl
  • UISlider
  • UISwitch
  • UITabBar
  • UITabBarItem
  • UIToolbar
  • UIView
  • UIViewController
  • UIWindow


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.



Thinking out loud

I personally have 4 rules for company culture: hire creative people, hire nice people, be honest with them as much as humanly possible, and then let them create the culture. Nothing else is needed.

I liked her talk on company cultures: Rocky Mountain Ruby 2014 – Your Company is “Awesome” (But is “Company Culture” a lie?)

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