我对RubyMotion感兴趣,但我想了解更多关于在支付许可费之前使用第三方iOS框架的情况。
我在第2.2节这里中看到,它说:
“要在RubyMotion项目中提供第三方库,源代码必须在文件系统的某个地方可用。”
我对iOS框架的理解本质上是一个静态库(.a文件)和一堆头文件,其中没有没有源代码--这似乎表明,在RubyMotion中使用第三方iOS框架是不可能的。
但是,阅读本文档时进一步指出,可以将项目类型:static
与:products
(静态库名称数组)和:headers_dir
(包含公共头文件的目录的路径)一起提供给vendor_project
方法。这似乎与关于源代码必须可用的断言相矛盾。
那么,我的问题是,在没有访问源代码的情况下,是否可以使用一个封闭源代码的第三方iOS框架和RubyMotion?
发布于 2013-02-04 01:26:06
是的完全有可能。我认为文档的意思只是需要包含项目中使用的所有内容。
您可以使用xcode项目,也可以像您所说的那样,使用带有多个头文件的静态库(.a文件)(也可能是一些objective包装文件)。
在你的Rakefile里这样的东西就能完成任务!
app.vendor_project('vendor/your-lib-name', :static,
:products => ['lib.a'],
:headers_dir => 'lib-header-path')
下面是我发现的非常有用的文章,它很好地解释了如何在RubyMotion中使用第三方库。
除了手动在项目中包含库外,还可以使用Cocoapods上可用的库。这里有一个RubyMotion包装器-- motioncocoapods,我最近在这个主题上做了文章,如果您感兴趣的话,可以看一看。
https://stackoverflow.com/questions/14678837
复制