2012-09-05 67 views
0

我有一個大型(數千個文件)產品,我正在移植到iOS。我有一個現有的構建結構,構建了大約50個靜態庫,然後可以由平臺特定的[G] UI使用。一些庫是第三方工具,如zip,ICU和Xerces。可移植構建過程由GNU autotools管理,並且我已經創建了一些shell腳本來構建i386(模擬器),armv6和armv7的代碼。所有這些都是在Apple iOS Lion和5.1 iOS SDK和Xcode4上完成的。在Xcode4中使用外部構建的靜態庫

我遇到的問題是將這些庫帶入Xcode4項目是一件痛苦的事情。拖動&刪除庫是很乏味的。我一直在抵制爲Xcode中的庫創建「項目」,因爲我已經有了一個可以工作的跨平臺構建系統。我希望有一個「簡單」的方式來輸入圖書館列表及其位置;我在這裏的搜索顯示Xcode3的解決方案,但它們似乎不適用於Xcode4。

我能夠建立一個使用這些庫的iOS應用程序,但我的問題的主旨是:我如何避免所有的拖動&刪除並保留我的可移植構建結構,以便使用我的庫的其他人不撕掉他們的頭髮?如果這是一款僅適用於iOS的應用程序,那麼當然,我只需使用Xcode4即可。但由於它是多平臺和「便攜」的,我真的希望簡化這個過程,其中「簡單」適用於包裝的維護和與我的庫一起工作的用戶/開發人員。

另一個問題可能是:我有沒有一種安全的方式來生成Xcode4元文件,以便我的autotools-driven-build的最終結果看起來像本機Xcode4項目?

回答

1

兩個想法:

1)用它來是Xcode的支持AppleScript的很好的情況下 - 我用做這樣的任務,的AppleScript。儘管如此,Xcode 4的早期版本還是缺乏這種支持。不知道你是否可以用4.4來完成 - 你可能會問蘋果的listserv組上的AppleScript實現者列表。 2)如果你把所有的庫(或者鏈接)放到一個文件夾中,那麼在Xcode中點擊Target,BuildPhase,Link Binary with Libraries,點擊+鍵,導航到你的文件夾,然後選擇所有庫並點擊確定,你就完成了。 [好吧,差不多,然後在左邊的GUI窗格中,您需要再次選擇它們並將它們移動到Frameworks文件夾中,由於這個惱人的錯誤,我保持在我的項目頂部。]

+0

您的步驟# 2聽起來有希望;當它們是「原始」檔案時,將它們放入框架是可以的嗎? – UncleOp

+0

是的 - 當你點擊+按鈕時,你會看到庫和框架。實際上,我總是添加新的框架/庫。 –

+0

謝謝;看起來您實際上需要選擇「目標」而不是「項目」才能進入「構建階段」。也許AppleScript是未來的選擇;現在看起來這是唯一的方法。 – UncleOp