Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过RubyMotion使用Parse iOS SDK_Ruby_Xcode_Parse Platform_Rubymotion - Fatal编程技术网

通过RubyMotion使用Parse iOS SDK

通过RubyMotion使用Parse iOS SDK,ruby,xcode,parse-platform,rubymotion,Ruby,Xcode,Parse Platform,Rubymotion,RubyMotion为第三方代码的销售提供以下说明: 我正在尝试添加Parse.com的iOS SDK。以下是将其添加到XCode项目的说明:。但是,我没有使用XCode,因为我正在使用RubyMoon 我在这里记录了我的尝试: 下面是我遇到的错误:链接的文档说,“要在RubyMoon项目中提供第三方库,源代码必须在文件系统中的某个位置可用。”因此我认为在其中删除.framework文件是行不通的 您可以尝试从parse.com/docs下载名为“Blank Xcode w/SDK”的Parse

RubyMotion为第三方代码的销售提供以下说明:

我正在尝试添加Parse.com的iOS SDK。以下是将其添加到XCode项目的说明:。但是,我没有使用XCode,因为我正在使用RubyMoon

我在这里记录了我的尝试:


下面是我遇到的错误:

链接的文档说,“要在RubyMoon项目中提供第三方库,源代码必须在文件系统中的某个位置可用。”因此我认为在其中删除.framework文件是行不通的

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


我还没试过这个。请让我们知道它是否正常工作。

我认为我们实际上是在处理静态库,因此我认为您应该指定: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')

好的,这是从RubyMoon小组的答案中抄来的。它似乎修复了存根错误消息:

现在,为了实现这一点,我修改了/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}')) 
致:


遇到问题:错误是
生成供应商项目
供应商/ParseStarterProject'未能创建至少一个
.a'库。
我从未得到它。你看过我贴的要点了吗?看过。这是AppDelegate中应用程序方法的唯一内容?该要点在REPL中运行,效果良好。不过,我在app#u delegate.rb中实现了这一点:出于某种原因,调用#save throws
Objective-C stub以获取消息
save'type
C@:'未预编译。确保与定义此消息的框架或库正确链接。
因此,解决方案是调用#savefinally,这很好。我是iOS的新手,所以我可能会有错误的想法。我想我已经弄明白了:如果我只是设置了ApplicationID,但以后在应用中不调用任何metods,我会得到那个错误。如果我创建了一个伪PFObject,而不需要保存它,我就可以避免错误。很奇怪,但它有效。这对我不起作用。运行rake时出现以下错误:架构i386的未定义符号:“\u OBJC\u CLASS\u$\ u SKPaymentQueue”,引用自:解析中的OBJC CLASS ref(PFPurchase.o)解析中的OBJC CLASS ref(PFPaymentTransactionObserver.o)“\u OBJC\u CLASS\u$\ u SKPayment”,引用自:解析中的OBJC CLASS ref(PFPurchase.o)“_OBJC_CLASS_$_SKProductsRequest”,引用自:解析(PFPurchase.o)中的OBJC CLASS ref:ld:symbol未找到体系结构i386 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
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}'))