Search code examples
rubyxcodeparse-platformrubymotion

Using the Parse iOS SDK with RubyMotion


RubyMotion provides these instructions for vendoring 3rd party code: http://www.rubymotion.com/developer-center/guides/project-management/#_files_dependencies

I'm trying to add Parse.com's iOS SDK. These are the instructions for adding it to an XCode project: https://parse.com/apps/quickstart#ios/existing. However, I'm not using XCode since I'm working with RubyMotion.

I documented my attempt here: https://github.com/adelevie/RubyMotionSamples/commit/603bf4428995bb203cce7e7e8e6989d6e86bda3b

And here are the errors I'm getting: https://gist.github.com/2595284


Solution

  • I believe we're actually dealing with a static library here, so I believe you should specify :static instead of :Xcode as the second option.

    With the following code in your Rakefile, the app compiles:

        app.libs << '/usr/lib/libz.1.1.3.dylib'
        app.frameworks += [
            'AudioToolbox',
            'CFNetwork',
            'SystemConfiguration',
            'MobileCoreServices',
            'Security',
            'QuartzCore']
    
        app.vendor_project('vendor/Parse.framework', :static,
            :products => ['Parse'],
            :headers_dir => 'Heiders')
    

    However, I'm getting the following error running the Parse setApplicationId method:

    (main)>> Objective-C stub for message `setApplicationId:clientKey:' type `v@:@@' not precompiled. Make sure you properly link with the framework or library that defines this message.