使用Parse iOS SDK和RubyMotion

时间:2012-05-04 15:37:05

标签: ruby xcode parse-platform rubymotion

RubyMotion提供了销售第三方代码的这些说明:http://www.rubymotion.com/developer-center/guides/project-management/#_files_dependencies

我正在尝试添加Parse.com的iOS SDK。这些是将其添加到XCode项目的说明:https://parse.com/apps/quickstart#ios/existing。但是,因为我正在使用RubyMotion,所以我没有使用XCode。

我在此记录了我的尝试:https://github.com/adelevie/RubyMotionSamples/commit/603bf4428995bb203cce7e7e8e6989d6e86bda3b

以下是我得到的错误:https://gist.github.com/2595284

3 个答案:

答案 0 :(得分:8)

我相信我们实际上是在处理静态库,所以我相信你应该指定:static而不是:Xcode作为第二个选项。

使用Rakefile中的以下代码,应用程序将编译:

    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')

但是,运行Parse setApplicationId方法时出现以下错误:

(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.

答案 1 :(得分:2)

链接的文档说:“要在RubyMotion项目中供应第三方库,源代码必须在文件系统的某个位置可用。”所以我不认为删除.framework文件会有效。

您可以尝试从parse.com/docs下载名为“Blank Xcode w / SDK”的ParseStartProject。如果您提供该项目文件夹,RubyMotion将能够找到它正在寻找的xcode项目。当然,您需要从xcode项目中删除.m和.h文件,因为您只希望项目包含Parse.framework。

我实际上没有试过这个。如果你让它工作,请告诉我们。

答案 2 :(得分:1)

好的,从RubyMotion小组的答案中复制了这个。它似乎修复了存根错误消息:

现在,为了完成这项工作,我修改了/Library/RubyMotion/lib/motion/project/vendor.rb并更改了第38行的Dir.glob:

source_files = (opts.delete(:source_files) or Dir.glob('*. 
{c,m,cpp,cxx,mm,h}')) 

到:

source_files = (opts.delete(:source_files) or Dir.glob('**/*. 
{c,m,cpp,cxx,mm,h}'))

http://groups.google.com/group/rubymotion/msg/0efa74214523d0f5