2012-09-07 80 views
8

我試圖在我的應用程序包中使用XCode 4嵌入private framework(最後一段),並遵循Apple(看似)已過時的instructions如何將私有框架添加到目標依賴項?

就我而言,我是對每個目標使用單獨的Xcode項目。這是最後一步:

在檢查器窗口的常規選項卡中,添加您的框架作爲應用程序的依賴項。添加這種依賴性會導致Xcode到 在構建應用程序目標之前構建框架目標。

您在應用程序目標中建立的構建依賴關係導致在應用程序之前構建框架。這非常重要,因爲它可以確保您的框架的內置版本可用於鏈接並嵌入到應用程序中。由於這種依賴性,您可以將Xcode項目的活動目標設置爲您的應用程序,並將其保留在那裏。構建應用程序現在構建框架並將其複製到應用程序包目錄中,從而在兩者之間建立必要的聯繫。

然而,當點擊中的+按鈕時,目標依賴關係框架沒有顯示出來。我如何在Xcode 4中建立私有框架和應用程序目標之間的構建依賴關係?

編輯:我應該說明我已經得到了私人框架的工作。我只想避免在每次對框架進行更改時清理項目,並確保框架是在應用程序目標之前構建的。

+0

您是否有項目框架的目標?如果不是,你將不得不添加一個。目標依賴關係是針對目標的。您無法將單個框架作爲目標依賴項。 –

+0

不,我沒有目標(請參閱爲鏈接中的每個目標使用單獨的Xcode項目)。你是否在說文件描述不再可能? – hpique

+0

該文檔從未說過你可以使框架成爲目標依賴項。它說你可以制定一個框架目標依賴。您所引用的誤導性部分在第一句中提到「將您的框架添加爲依賴項」。如果它表示「將您的框架目標添加爲依賴項」,則會更清楚。按照srinaidu的解答,將你的框架鏈接到應用程序項目。 –

回答

9

通過將私有框架項目添加爲子項目,然後在目標依賴關係中添加框架目標來解決此問題。

但是,在我的情況下,框架目標沒有顯示爲目標依賴項中的一個選項,直到我刪除了DerivedData。那個令人討厭的小蟲子讓我瘋狂。

+0

我剛關閉了工作區並重新打開它,然後就可以將目標添加爲依賴項。這裏有一個很好的教程:http://pymatics.com/2011/12/23/tutorial-develop-a-private-framework-for-your-mac-app-using-xcode-4s-workspace-feature – GTAE86

+0

你需要兩個。雖然Xcode最近自動解決了依賴關係,但對於瀏覽項目的其他人來說,瞭解應用程序依賴於其私有框架會很好。 –

1

在Xcode中選擇您的項目,然後您可以在右側找到項目和目標。然後選擇Target並轉到LinkBinary with Libraries,然後會出現一個窗口,左下角有一個選項Add another。

+0

這是前一步,沒有它的框架將無法正常工作。我已經有了框架的工作。現在我想確保框架是在應用程序目標之前構建的。 – hpique

0

如果您要在不包括它作爲子項目添加私人的框架,你必須添加一個複製文件任務是:

Copy Files task

+選擇框架按鈕並選擇Frameworks目的地

您不需要在中添加任何內容目標依賴關係

而且這個工作,確保RUNPATH搜索路徑值是生成設置標籤@executable_path/Frameworks

相關問題