1

我对 RubyMotion 很感兴趣,但想在支付许可费之前了解更多关于使用 3rd 方 iOS 框架的信息。

我在此处的第 2.2 节中看到,它指出:

“要在 RubyMotion 项目中供应第 3 方库,源代码必须在文件系统的某处可用。”

我对 iOS 框架的理解本质上是一个静态库(.a 文件)和一堆头文件,没有源代码 - 这似乎向我暗示,无法将 RubyMotion 使用 3rd 方 iOS 框架。

但是,阅读此文档进一步说明可以将项目类型与(静态库名称数组)和(包含公共头文件的目录的路径)一起提供:static给方法。这似乎与源代码必须可用的断言相矛盾。vendor_project:products:headers_dir

所以我的问题 - 是否可以在无法访问源代码的情况下使用带有 RubyMotion 的闭源第 3 方 iOS 框架?

4

1 回答 1

2

是的,这是完全可能的。我认为文档的含义只是您需要包含您在项目中使用的所有内容。

您可以使用 xcode 项目,也可以使用带有多个头文件的静态库(.a 文件)(也可能是一些 Objective-c 包装文件)。

在你的 Rakefile 中这样的东西就可以完成这项工作!

app.vendor_project('vendor/your-lib-name', :static,
    :products => ['lib.a'],
    :headers_dir => 'lib-header-path')

这是一篇我觉得很有帮助的文章,它很好地解释了如何在 RubyMotion 中使用 3rd 方库。

除了手动在项目中包含库之外,您还可以使用 Cocoapods 上可用的库。有一个 RubyMotion 包装器 - motioncocoapods ,我最近写了一篇关于这个主题的文章,如果你有兴趣可以看看。

于 2013-02-04T09:26:06.417 回答