2014-10-10 155 views
0

我從Xcode 5升級到6,現在我的代碼無法編譯。我發現一些類似的問題從3到4,但沒有爲最新版本。從Xcode 5升級到6的項目將無法編譯

這是我收到的錯誤。

ld: building for iOS Simulator, but linking against dylib built for MacOSX file '/Applications/Xcode.app/Contents/Developer/Library/Frameworks/XCTest.framework/XCTest' for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

這是否有一個共同的修復?

感謝您的任何幫助。

+0

請嘗試刪除您的衍生數據? – JAL 2014-10-10 14:58:29

+0

試過這個。沒有運氣。 – 2014-10-10 15:38:11

+0

你有沒有得到這個工作?我想我遇到了類似的問題 – mosquito242 2016-01-11 21:42:59

回答

0

我有一個類似的問題,通過運行乾淨(在產品/清潔下的菜單)修復。

+0

這裏沒有運氣。我清理成功,但仍然無法編譯。 – 2014-10-10 14:50:18

0

編輯1: 哦發現您的構建設置的問題。

1. 測試文件如何與您的項目鏈接? 只需從Project Navigator> Targets>'Project Name'> Build Phases中刪除「XCTest.Framework」文件即可。 然後,「產品」(下拉菜單)>清潔。爲我做了!

2. 此外 項目>目標>「項目名稱」>構建階段>編譯源代碼 XCTest不應該被包含在普通的應用程序代碼。所以你應該從編譯源中移除任何測試源並移動到測試目標。


您應該在Build Settings中將您的'Build active architecture only'更新爲NO。

重新啓動Xcode和乾淨的版本。

應該可以正常工作。

+0

在構建設置中更改爲NO,重新啓動並清理。仍然無法編譯。 – 2014-10-10 15:22:29

+0

更新了上面的解決方案。 – bllakjakk 2014-10-10 15:33:29

+0

我從構建階段頁面中刪除。我已經完成並清理了。仍然沒有編譯。 – 2014-10-10 16:05:06

0

聽起來像你需要從你的項目文件中刪除XCTest框架,並重新從iOS框架中添加它。

似乎很奇怪,在升級過程中,您的iOS項目以某種方式與Mac框架鏈接。