This gem/Rails plugin contains common code for powering iPhone applications. It is particularly suitable as a server-side partner to the ZergSupport toolkit, also available on Github under the MIT license at


  • In-App Purchase receipts verification – imobile can verify a StoreKit receipt with Apple’s servers. Apple’s response is parsed into a Ruby-friendly hash. See Imobile.validate_receipt in validate_receipt.rb
  • Push Notifications – imobile supports both pushing notifications and receiving feedback from Apple’s servers. imobile can use the .p12 certificates exported by Keychain directly, and it knows to talk to both sandbox and production servers. imobile can send notifications in batch mode, ideal for daemons and Cron jobs. See Imobile.push_notifications and Imobile.push_feedback in push_notification.rb
  • ZergSupport’s CryptoSupport – imobile can validate the application fingerprint generated by ZergSupport’s CryptoSupport. Useful to know who’s pirating your applications. See Imobile.crypto_app_fprint in crypto_app_fprint.rb
  • Production-friendly – imobile has great automated test coverage and all methods are reasonably well document. The code is placed under the MIT license.


Some of imobile’s functionality was designed specifically for use with the ZergSupport iPhone application toolkit. The toolkit is available under the MIT license at


Please don’t hesitate to fork the project and send pull requests.