2015-05-14 47 views
1

我知道有很多問題和答案可用,但從2天開始,我試圖找出這個問題並沒有取得任何成功。[可能重複]:架構i386的未定義符號:

我已經在我的項目添加下列框架,

libSqlite3.dylib
AddressBook.framework
AssetsLibrary.framework
AVFoundation.framework
CoreMotion.framework
MediaPlayer.framework

但沒有取得任何成功

enter image description hereenter image description here

+0

具有u整合谷歌加?似乎有一些框架工作丟失或谷歌加框架沒有被正確添加, – Purva

+0

是的是有GooglePlus框架集成,但爲了解決這個問題我已經刪除並多次添加GooglePlus SDK和其他相關框架,但獲得了與上述相同的結果。 – Digambar

+0

可能是下面的鏈接幫助你出來 – Purva

回答

2

此庫AssetsLibrary.framework在步驟3中未包含在您的項目中,這就是您遇到此錯誤的原因。

嘗試這些:

您需要的AssetsLibrary框架添加到「鏈接二進制與圖書館」建設目標的階段。

嘗試使用Command + Shift + K清理項目並再次添加所需的框架。希望它會開始工作

將文件複製到您的項目,但忘了檢查目標添加文件。解決方法:打開正確目標的Build Phases,展開Compile Sources並添加缺少的.m文件。

另一個原因,可能是:

您包括對於像i386的另一架構構建的靜態庫,你的主機上的模擬器。解決方法: 如果您的庫供應商有多個庫文件包含在項目中,則需要包含模擬器(i386)和設備(例如armv7)的庫文件。

+0

感謝您的回覆,但同樣的答案我閱讀了堆棧溢出,並嘗試了我在問題本身中提到的步驟,我已經在項目中添加了列出的框架。 – Digambar

+0

最好說明1。 –

0

缺少庫或缺少.m文件

檢查並添加: TargetSettings - >構建階段 - >編譯源代碼 - >添加您的m級 - >生成和運行

3

我想你將框架複製到您的項目中,而不是僅鏈接到它們,因此它們只包含爲設備編譯的庫。 Xcode通常會爲您找到模擬器框架版本。

刪除任何在你的項目和Finder的.framework文件夾中,然後按照本教程與框架的第6步你在原來的文章中列出:http://quickblox.com/developers/IOS-how-to-connect-Quickblox-framework#Framework

+1

謝謝,這個技巧幫助我脫身,解決方案是添加上述答案中提到的所有框架。 – Digambar

相關問題