News

 
  • 08 Aug

    Announcing motion-provisioning: Simplified provisioning for RubyMotion iOS, tvOS and macOS apps

    Eventually, every iOS and macOS developer has to go through the motions of trying their app on a device or submitting it to the AppStore. This requires navigating the complex Developer Portal website to generate certificates and provisioning profiles. Reading tons of tutorials and Googling the cryptic error messages (if you're lucky to get one printed at all).

    To get you acquainted with the terminology and steps involved, we have prepared a code signing guide that you can find in the developers section of our website.

    But RubyMotion is a toolchain with a strong focus on developer productivity, so we wanted to go one sted further. That's why we're really excited to introduce motion-provisioning, a small library that manages certificates and profiles automatically, from the command line, with minimal configuration.

    By adding a few lines to your Rakefile and providing your Apple developer ID, motion-provisioning will take care of generating the required certificates and provisioning profiles as part of the process of building your application.

    You dont have a paid developer account? Dont worry! You can use your free developer account to generate a development certificate and try your app in your device. This is specially useful for users of our free plan, RubyMotion Starter.

    This is what a typical configuration for an iOS app would look like:

    Motion::Project::App.setup do |app|
      app.name = 'My App'
      app.identifier = 'com.example.myapp'
    
      app.development do
        app.codesign_certificate = MotionProvisioning.certificate(
          type: :development,
          platform: :ios)
    
        app.provisioning_profile = MotionProvisioning.profile(
          bundle_identifier: app.identifier,
          app_name: app.name,
          platform: :ios,
          type: :development)
      end
    
      app.release do
        app.codesign_certificate = MotionProvisioning.certificate(
          type: :distribution,
          platform: :ios)
    
        app.provisioning_profile = MotionProvisioning.profile(
          bundle_identifier: app.identifier,
          app_name: app.name,
          platform: :ios,
          type: :distribution)
      end
    end
    

    motion-provisioning is open source and available on Github.

    We encourage you to try it, and report any issues you may encounter. Contributions are also welcomed!

 
 

Want to stay in touch?

Follow us on Twitter