In addition to this blog post, you might want to check out this iOS and Rails Starter Kit.

Let’s say you want to build an iOS app on top of a Ruby on Rails backend. Here are a few resources to get you started:

The iOS Side

CocoaPods is a great way to manage dependencies and libraries. It has specs for all the libraries we are using and many many more. It’s a must!

We’re using RestKit to easily consume the Rails API. It maps the resources into Objective C classes, maintains relationships, handles authentication, and more.

SVProgressHUD is a nice little library that handles progress indicators and success/error messages.

All iOS apps that communicate to a server need to gracefully degrade when connectivity is not present. This is actually also a formal requirement for being approved on the App Store. This library handles Reachability with ease.

The Rails Side

If you are already using the devise gem for logging in, it’s perfect for integration with iOS. You’ll simply need to enable http_authenticatable in devise.rb and set up RestKit with each user’s email and password. You might also want to look into token authentication.

If you intend the Rails app to only handle the API, the Rails-API gem is a good place to get you started.