2012-03-25 65 views
9

介紹

在當前項目後,我的工作,我們正在使用的ChartBoost SDK的POPOP廣告。我們已經使用這個SDK一段時間了,沒有任何問題。這是一個非常簡單的庫,基本上只有一個名爲「ChartBoost.h」的頭文件以及一個「libChartBoost.a」文件。

現在我們剛剛更新了新版本的SDK文件。我在這裏做的是通過「移動到垃圾箱」從項目中刪除舊的SDK文件。我所做的只是將新的SDK文件移動到項目中,添加它們的引用。

問題

權利這樣做的,編譯項目後,我突然得到2個鏈接錯誤。下面是它的截圖:

Screenshot

我已經試過幾乎所有我能想到的,試圖消除錯誤。我已經清理了項目和項目文件夾,並且還嘗試通過組織者窗口刪除項目的派生數據。

我很肯定這與鏈接器試圖使用舊文件的引用有關?但我不知道我該如何去解決這些現在無效的引用。

有沒有人在這裏誰有任何想法如何解決這個問題?

[編輯]鏈接ChartBoost.a二進制

所以,我想通過「構建階段」標籤鏈接ChartBoost.a文件到二進制文件。這並擺脫原來的兩個錯誤雖然透露8級新的,下面的截圖所示:

Linking errors 2

我不太清楚這是什麼樣的鏈接錯誤的都應該很不幸的意思是:(任何人有什麼想法?

+0

它看起來像你缺少一些庫或使用ARC和庫使用保留等。 – mientus 2012-03-25 20:01:34

+2

順便說一句:更好的升級方法將只是取代ChartBoost.h和libChartBoost。一個文件,無論它們當前在磁盤上(也就是Xcode的文件引用指向的任何地方)。你不需要改變別的東西。 – 2012-03-25 21:09:22

+0

感謝提示Kurt Revis :) – CodingBeagle 2012-03-25 21:22:55

回答

12

在你的應用程序的目標,期待在「構建階段」,在「鏈接二進制與圖書館」階段。

它應該包括libChartBoost.a

如果ð不要按下+按鈕並選擇libChartBoost.a

我很確定這與鏈接器試圖使用舊文件的引用有關?

不可以。您從項目中刪除了舊文件,其中包含「鏈接二進制庫」參考文件。將新文件添加到項目時,您沒有添加該參考。

+0

我已經更新了原始問題,並提供了結果的詳細信息和屏幕截圖。它確實擺脫了兩個原始問題,但揭示了8個新問題 – CodingBeagle 2012-03-25 21:26:21

+2

看看有問題的類名並做一點研究。 SCNetworkReachabilityXXX位於iOS'SystemConfiguration'框架中,因此將其添加到鏈接庫中。 'SBJson3Parser'是你的'libChartBoost'正在使用的JSON解析器庫。您可以在[ChartBoost SDK的最新版本](http://www.chartboost.com/support/sdk)的'JSON3'文件夾中看到所有這些文件?將它們添加到您的項目中! – 2012-03-25 21:40:41

+0

好吧,添加SystemConfiguration Network可以解決6個錯誤。現在唯一的問題是,我再次得到原始錯誤,只有這次使用「SBJson3Parser」,這顯然是在libChartBoost.a庫中引用的。唯一的問題是ChartBoost庫附帶的JSON3文件夾沒有包含任何庫文件。順便提一下,我已經把這個文件夾作爲項目的一部分。這很奇怪,因爲當我們第一次實現ChartBoost的時候,我們沒有必要混淆這些庫包含的內容。 – CodingBeagle 2012-03-25 23:04:06