2012-06-11 104 views
2

我有問題使用我自己的靜態庫。xCode 4.3靜態庫跨項目參考

這裏是我做過什麼:

靜態庫

1)我創建了「可可靜態庫」模板

2)一個新的項目,我添加了一個簡單的測試文件「LibraryTest」該項目

3.)我在「LibraryTest」中定義了一個公共函數「testFunction」

4.)在「目標」 - >「構建階段」 - >「複製標題」下,我將LibraryTest.h添加到「public」

5.)我構建庫並在文件夾「Products」標記的庫文件變黑。所以我想,一切運行良好

新建項目

1)我創建了一個新的項目與「空白應用程序」模板

2)我拖着我的靜態庫到新的項目

3.)我使用#import「LibraryTest.h」將「LibraryTest.h」導入到我的AppDelegate。進口自動完成

4.)不幸的是,如果我試圖編譯它說,「LibraryTest.h」找不到,因此沒有建立。

在這裏,您可以在xCode中看到我的「New Project」項目瀏覽器窗口中的snapshot。 庫「libJRL_jumero_iOS_library」仍爲紅色。所以我猜圖書館找不到,這也許是原因。但我不知道爲什麼它不是建立。

有人想法出了什麼問題?

問候, 揚

編輯11.06.2012:

如果我使用 「@class LibraryTest;」 我可以編譯和函數被調用,如g .:

LibraryTest * libraryTest = [[LibraryTest alloc] init]; [libraryTest testFunction];

但是我收到警告: Receiver LibraryTest.h是一個前向類,相應的接口可能不存在。 找不到實例方法-testFunction。

回答

0

您必須拖動h文件以及您的項目。 通常,當您構建一個靜態庫時,您將提供.a文件以及公共的h文件。 必須將所有該包導入到您的項目中,否則您將無法看到接口和方法聲明。

+0

嗨bettola,謝謝你的回答,但這正是我所做的,正如我在4)中所描述的那樣。 .a文件在我的「新建項目」中是紅色的。我認爲它沒有建立,但我不知道爲什麼。 – user1449153

+0

從快照看來,您並未將庫作爲靜態庫添加,而是作爲導入的項目添加。我期望看到只有一個Xcode項目,導入.a內部和標題....但從快照,我看到兩個項目:Base和libJRL – Valerio

+0

如何將它添加爲靜態庫?我所做的是將靜態庫項目拖放到我的「新項目」項目中... – user1449153