2016-04-22 101 views
1

我有一個Xcode項目P2這是一個工作區的一部分,我有另一個項目P1爲什麼我的Xcode項目僅在工作區中編譯?

當我構建P1時,它創建了一個Cocoa Touch框架。在P2中,我已經添加了由P1創建的框架,方法是轉至 常規 - >鏈接框架和庫 - >選擇P1.framework。

然後我建P2項目,並將其與P1.framework集成在它編譯成功。所以,這一切都很好。

現在,而不是打開的工作區,工作區,從建設P2項目,我直接點擊p2.xcodeproj文件打開P2項目。我可以看到其中的p1.framework文件。

但是,現在當我嘗試建立P2,它提供了錯誤:

framework not found P1. clang: error: linker command failed with exit code 1 (use -v to see invocation).

誰能幫助我理解爲什麼當從p2.xcodeproj文件直接打開P2提示錯誤?

回答

2

對於p1.framework是聯正確,其中p1.framework引用必須是可見的項目。

這可能是因爲您最初使用標準Xcode UI來從工作區中的P1項目中選擇p1.framework。 Xcode不直接引用p1.framework,而是通過P1項目。這很有用,因爲它允許您儘可能多地修改P1(更改構建目標等),並允許其他項目使用p1.framework

更簡單的比喻可能是考慮文件夾別名。這就像您通過文件夾別名引用文件,然後刪除該文件夾。自然會出現錯誤。

相關問題