2010-05-12 29 views
4

我目前正在開發一些類似的Cocoa桌面應用程序。爲了在它們之間共享代碼,我已經確定了一組可在所有這些應用程序中共同使用的核心類和函數。我想將這個通用代碼捆綁到一個框架中,我的所有當前應用程序(以及任何未來的應用程序)都可以鏈接到該框架。Cocoa框架開發:項目之間的共享

現在,這裏有一個很難的部分:隨着我走,我將開發這個框架,所以我需要每個桌面應用程序都有對它的引用,但我希望能夠編輯框架源代碼來自每個應用項目的代碼,並根據需要自動重建框架。

例如,假設我有DesktopAppNumberOne的Xcode項目打開,並且我決定需要更改我的一個框架類。我想:

  1. 打開並編輯該框架類的源文件,而無需在Xcode中打開框架項目。
  2. 在DesktopAppNumberOne上點擊「構建」,並首先查看重建的框架(因爲其中一個源已更改),然後查看部分DesktopAppNumberOne重建(因爲其鏈接的框架之一已更改)。

我可以看到如何做到這一點只有一個應用程序和一個框架,但我很難找出如何與多個共享一個框架的應用程序做到這一點。

有沒有人有過這種方法的成功?我可能會以這種錯誤的方式去做?任何幫助,將不勝感激。

+0

你說你可以看到如何處理一個項目..但你沒有說如何。無論如何,兩個,三個或更多的項目並沒有什麼不同。請解釋你將如何做。 – hooleyhoop 2010-05-12 14:33:33

+0

對於一個項目,我將包含所有框架源文件,爲框架添加一個目標,並使應用目標依賴於框架目標。很簡單。這樣做不止一個項目涉及很多重複。例如,如果我將文件添加到框架中,那麼我將不得不在這些其他項目中添加這些文件。 – 2010-05-12 14:54:26

+0

從概念上講,我希望能夠在每個應用程序項目中都包含框架作爲完整的Xcode *項目*,如果這樣做有任何意義的話。通過這種方式,每個應用程序項目都將依賴於框架項目,但是框架項目本身將是一個獨立的實體,只需要在一個地方進行編輯。 – 2010-05-12 14:58:09

回答

4

爲您製作一個XCode項目框架。

在'Groups & Files'面板>請參閱最左上方的藍色項目圖標?將其拖放到您喜歡的任何其他項目的「組&文件」面板中。

因此,製作一個應用程序項目,然後從您的框架項目中拖出項目圖標。

CMD-i在您的應用程序目標上。在這裏你可以設置你對框架的依賴和鏈接。

的幾點

鏈接多個應用到一個框架可以stressfull。您將需要將您的框架安裝到/ Library/Frameworks或等價物中或捆綁到每個應用程序中。

爲了開發的目的,我發現爲每個項目設置一個自定義的通用構建目錄可以簡化事情。我將每個項目設置爲/代碼/構建/調試。這意味着調試版本的框架搜索路徑可以是$ CONFIGURATION_BUILD_DIR。對於你的發佈版本,你仍然會有一些工作需要安裝路徑,rpaths等。痛苦的屁股!

XConfig文件是你的朋友。開源的谷歌mac工具箱的東西是如何使用它們的一個很好的例子。你可能會需要至少Project_debug.xconfigProject_release.xconfigTarget_framework.xconfigTarget_application.xconfig

+0

看起來很有希望。謝謝!我會給它一個 – 2010-05-13 13:23:27

+0

很酷。這將很好地訣竅!我不知道你可以簡單地放入一個項目作爲依賴項。 – 2010-05-14 04:29:19

+0

因爲您不知道它 - 對於具有多個目標的複雜項目等,我始終啓用「目標成員」列(Cntrl單擊「組和文件」)。沒有它我活不下去。 – hooleyhoop 2010-05-14 08:39:06