Apple Watch, iPhone 6 , 6+, and iOS8: there are many new and exciting things in the iOS world right now. I’m personally excited about WatchKit, as the Apple Watch is a whole new device for us to build apps on, with fun new UI constraints and metaphors.


The different point sizes of the iPhone 5, 6, and 6+ are going to add some additional work for us. If you’re using MotionKit’s Auto Layout or RMQ’s grid system you’ll be better off than most.

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

Happy coding, Todd Werth (@twerth)

Articles, News, New Gems, and Blog Posts

September 12th, 2014 | slides | by MichaƂ Taszycki
Ruby – Write Once, Run Anywhere

September 12th, 2014 | new gem | by Marcus Gartner

September 8th, 2014 | screencast | by Jack Watson-Hamblin
MotionInMotion – Episode 41 – Application Workflows in Interface Builder with Storyboards and Segues

September 7th, 2014 | blog post | by Baylor Rae
Using RFQuiltLayout with RubyMotion and RMQ

September 6th, 2014 | new gem | by Qi He
Rubymotion gem to easily use WeChatSDK

RubyMotion Job of the Week

RubyMotion iOS Engineer at Jukely in New York City

Jukely is a matchmaker for concerts and friends. We match live music lovers with concerts and friends to go, with based on their collective music tastes. This gets people go out to more shows.

We are looking for a RubyMotion iOS Engineer to join our team in New York City. The candidate will work on the Jukely iOS app that’s been selected by Apple as Best New App. It’s also been included in Apple’s WWDC sessions for good design and user experience. Read more.

Contact bora@jukely.com

RMQ Tip of the Week

Version 0.7.1 was released yesterday. It adds a grid overlay and some very cool new validation features.

Gant Laborde and Vaughan added some cool new validation features:


In some situations you may have an outlying exception to the validation rule. Exceptions can be validated as true using the white_list parameter:

rmq.validation.valid?(some_url_input, :url, white_list: ['http://localhost:8080', 'http://localhost:3000'])
# => true for 'http://localhost:3000' even though it's not going to pass URL (missing TLD)

Custom rules

If your validation is specific to a single form, we suggest taking advantage of using the custom validation rule.

some_field = rmq.append(UITextField).validates(:custom, regex: /^test$/)
# => true

You can add your own validation with the add_validator method (Perhaps in your Application Stylesheet setup). Additionally, you’re not limited to the bounds of a single regex. You can use the ruby methods you know and understand, as well as multiple parameters passed in opts.

rmq.validation.add_validator(:start_with) do |value, opts|

You can then use your new validator in your application:

some_field = rmq.append(UITextField).validates(:start_with, prefix: 'x')
some_field.valid? # => false
some_field.valid? # => true

Grid overlay

I added the ability to see the grid for development:








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 todd@infinitered.com