2012-04-06 54 views
-1

我有一些共享代碼,我想在我的Xcode項目中重複使用。最簡單的方法是使用共享框架。我必須公開標題才能在我的項目中重用該框架。可可框架角色

現在:由於框架必須複製到最終產品中,是否有自動防止公共標題被複制的方法?當然,我可以手動做到這一點,但一個自動化的伎倆將是驚人的:)

謝謝

+0

如果你所要做的只是「重用」代碼而不是創建一個自定義的.framework絕對不是最簡單的方法。 – 2012-04-06 19:28:12

+0

你會建議什麼? SCM回購? – user732274 2012-04-06 19:31:19

+0

這是個人消費嗎? iOS或Mac OS X?能夠僅支持Xcode 4和更新版本,還是需要支持Xcode 3? – 2012-04-06 19:35:38

回答

0

IIRC,你可以做一切與框架。框架可以安裝在系統範圍內,也可以安裝在應用程序包中。如果您還沒有閱讀它,請參閱文檔:Embedding a Private Framework in Your Application Bundle

基本上,您將制定兩種框架變體,一種用於開發客戶端應用程序,另一種用於嵌入這些應用程序中。在Xcode中,您可以:

  • 無論是創建了兩個框架的目標,改變頭文件通緝(公共或私營)角色
  • 或使用PUBLIC_HEADERS_FOLDER_PATH建立兩個創建配置不同的值設置。 (說,「發展」和「部署」)。這樣您的頭文件將以不同的位置結束。

我沒有這樣做很長一段時間,但我沒有嵌入式框架,特別美好的回憶。你準確地重用了哪些類型的代碼?這是常用的通用代碼嗎?或者它是一個完整的,一致的項目?

如果您只是想重用通用代碼,那麼最好使用簡單的老派.a靜態庫和頭文件夾,或者更好,static framework。 (這只是一個框架包內的靜態庫)

+0

非常感謝,我會閱讀更多關於這些技巧:) – user732274 2012-04-06 20:35:25

+1

好吧,我終於設法做到這一點:我將所有框架的頭文件保留爲「私有」,因此它們不會被複制到最終的包中。在那些引用該框架的項目中,我只需通過將標題搜索路徑(在項目設置中)設置爲框架構建文件夾來導入它的標題。 – user732274 2012-04-06 23:33:03