2013-02-04 59 views
1

我對RubyMotion感興趣,但希望在支付許可費之前瞭解更多有關使用第三方iOS框架的信息。在RubyMotion中使用靜態iOS庫

我在2.2節here看,它規定:

「要在RubyMotion項目供應商的第三方庫,源代碼 必須有某個地方在文件系統中。」

我在iOS框架的理解基本上是一個靜態庫(某文件)和一堆的頭文件,與沒有源代碼 - 這似乎暗示,我認爲這是不可能的使用RubyMotion的第三方iOS框架。

然而,閱讀本文件進一步指出,這是可能的項目類型:static供應與:products(靜態庫名稱的數組)和:headers_dir(路徑包含公共頭文件的目錄)沿vendor_project方法。這似乎與聲明源代碼必須可用相矛盾。

所以我的問題 - 是否有可能在源代碼無法訪問的情況下使用RubyMotion的閉源第三方iOS框架?

回答

2

是的,這是完全可能的。我認爲文檔意味着你需要包括你在項目中使用的所有東西。

你既可以使用xcode項目,也可以像使用靜態庫(.a文件)那樣使用幾個頭文件(也可能使用一些Objective-c包裝文件)。

這樣的事情在你的Rakefile中可以完成這項工作!

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

這裏是an article,我發現真正有用的,它很好地解釋瞭如何在RubyMotion使用第三方庫。

除了手動在項目中包含庫之外,還可以使用Cocoapods上提供的庫。這裏有一個RubyMotion包裝 - motioncocoapods,我最近在這個主題上完成了an article,如果你感興趣,你可以看看。