2011-05-17 93 views
1

我創建了一個生成「a」文件的靜態庫項目。 我將這個「a」文件作爲靜態庫包含在另一個項目中。iPhone - 使用靜態庫?

我可以使用這個靜態庫中的類的唯一方法是複製所有頭文件以及「a」文件。

是否有可能避免複製頭文件,並仍然能夠使用和從這個靜態庫中導入類?

+0

我也不想要任何一種依賴到我的庫項目 – aryaxt 2011-05-17 06:11:02

+0

我認爲它不可能,編譯器需要聲明函數。但是,您可以嘗試提供頭文件的絕對路徑。 – 2011-05-17 06:13:43

+0

而不是複製標題,您可以編輯項目的標題搜索路徑以包含該庫的標題文件夾。儘管如此,這可能仍然是一種依賴。 – aroth 2011-05-17 06:15:15

回答

0

我能找到的最好的辦法是在這裏:

http://www.cocoanetics.com/2010/05/making-your-own-iphone-frameworks-in-xcode/

...基本上,你可以通過一些跳火圈來打包靜態庫的框架。該框架將創建頭文件的內部副本,所以當您將其包含在項目中時,您可以自動訪問它們。

+1

@aryaxt - 這是一個新的甚至更好的選擇:https://github.com/kstenerud/iOS-Universal-Framework,可以讓你將庫封裝爲一個框架,包括所有公共頭文件。 – aroth 2011-05-26 23:59:08

0

不是真的,你必須聲明調用者可見的函數。頭文件是最方便的方式,因爲它提供了一個接口。一種可能的方法是將這些頭文件合併成一個.h文件,以便爲您的庫提供一個完整的單一界面。

我能想到的唯一的另一種方法是在你調用它們的文件中聲明這些函數,但這更具破壞性和容易出錯,然後包括一個頭文件。