連接我是新來的Objective-C開發。我想創建一個可在OS X和iOS上使用的應用程序。由於這兩個應用程序將共享相同的基礎,因此我正在考慮創建一個將由這兩個應用程序使用的庫,以儘量減少代碼重複。這兩個應用程序將是封閉的源代碼,而圖書館將是開源的。框架/庫在Xcode
因爲我意識到動態庫的iOS限制,我認爲最好的解決方案是創建一個包含兩個目標的項目:一個框架和一個靜態庫,as shown in this article。
一旦我上面鏈接的文章的幫助下開始了一些原型,我已經成功地找到很多解決方案,將我的圖書館,但他們中的一些似乎愚蠢的,其他的都用問題來了。
工作區
該解決方案似乎是最簡單的一個,我只是要拖&下降和link the app to the appropriate target listed in the workspace。但是,我遇到了一個缺乏自動完成功能,試圖將我的庫改爲主代碼,該庫沒有被提示。無論如何,我試着通過編寫自己的#import
行(它被Xcode報告爲錯誤)來編譯應用程序,並且它工作正常!編譯完成後,Xcode正確地向我顯示自動完成的庫...是否有解釋?
而且,我對這個解決方案的另一個問題:如果我編譯應用程序在發佈模式,將它掛在釋放模式庫一樣好,甚至我需要指定的發佈模式應用和爲圖書館?
編譯鏈接
之前,另一個解決辦法是編譯庫到OS X框架和iOS的靜態庫,複製有各自的項目中的二進制文件和鏈接它們。但我可以只考慮劣勢,這種選擇有什麼好處嗎?
直接鏈接來源
像AFNetworking我可以直接鏈接的來源,而無需使用由庫目標所產生的二進制文件。
的CocoaPods
我聽說過這個項目,但我不明白,如果它可能是對我有沒有用?
任何幫助選擇適當的方式,將不勝感激。