1. 程式人生 > >Xcode中一個工程如何引用另一個工程

Xcode中一個工程如何引用另一個工程

如何在一個專案中引用另一個專案的程式碼呢,實現在專案中檢視並編輯另一個專案的程式碼,像下面這種結構:


首先在要新增到該專案下右擊,選擇“Add Files To “你要新增到的主專案A””,找到要引用的專案B的目錄下的"B.xcodeproj"檔案,直接確定引入即可

注意:

我第一次引入使用發現引入的只有一個“B.xcodeproj”檔案,並不是一個類似於下面這種結構:B.xcodeproj目錄下是該工程


由於我是用的剛更新的xcode9.0,不知道是不是版本bug,一直無法成功,最後解決辦法是重啟xcode後,重新引用,就ok了


引入專案成功兩個專案其實並沒有關聯到一起,我們還需要做一些額外的工作,來幫助兩個專案關聯到一起:

1,主專案關聯專案B的編譯後的檔案“B.a”或者“B.framework”


如上,首先找到主專案A的targets,再找到build phase下面的link binary with libraries

再將引入的專案B的編譯後的檔案“B.a”或者“B.framework”(可從專案b下面的product的目錄通過Show in Finder直接找到,記得要編譯B專案先!否則為紅色。)拖拽到“link binary with libraries”該目錄下即可

這樣新增依賴就ok了,這邊有一個注意點,如果專案B編譯出來的是".a"庫,記得要在專案A中增加“header search paths”來新增專案B的標頭檔案,如果專案B編譯出來是“.framework”就不需要了,因為裡面已經有標頭檔案了

2,這樣的話,似乎是每次改動專案B,都需要單獨編譯一下專案B,再編譯專案A,太麻煩了,可以在專案A中新增專案B的target依賴,這樣每次編譯專案A,順帶連著專案B一期編譯了,如下


如上,首先找到主專案A的targets,再找到build phase下面的Target Dependencies

點選+,找到專案B新增就可以了,這樣,每次編譯專案A,專案B也會自動被編譯




好了,gg