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
答案 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