2013-04-09 42 views
9

當試圖編譯我的項目時,我收到這個錯誤,想知道是否有人知道如何解決它?.app文件找不到衍生數據

我已閱讀所有有關這種鏈接器錯誤的SO和其他地方的答案。我已經嘗試了很多解決方案,其中包括xcode中非常受歡迎的--delete派生數據,完全退出xcode,在命令行上再次刪除它,然後重新啓動xcode - 仍然沒有任何結果。這是在我嘗試將設備附加到我的計算機(我從組織者中刪除)後嘗試在iPad上運行它的朋友之後開始的。我在我的智慧結束,不能再浪費時間了。任何想法如何解決它?

Products文件夾中的應用程序文件爲紅色。

編輯:更多信息:實際的應用程序沒有被構建並放入庫/開發人員/ {app}/Build/Product文件夾中。我嘗試重新連接設備並從蘋果網站手動添加配置文件,然後嘗試在設備選中時進行Build->存檔應用。我仍然得到錯誤。我試過在調試中改變調試版本並完成所有這些,但我仍然遇到了錯誤。我嘗試卸載xcode並重新安裝它,刪除完全離開計算機的應用程序(包括派生數據)從Git拉下來,我得到相同的錯誤。

Ld /Users/mischabuckler/Library/Developer/Xcode/DerivedData/TRx-clxlusutxvcrlkddtqwtoxibcmhc/Build/Products/Debug-iphonesimulator/UnitTests.octest/UnitTests normal i386     cd /Users/mischabuckler/Desktop/Git/TRx     setenv IPHONEOS_DEPLOYMENT_TARGET 6.1     setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"     /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -bundle -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk -L/Users/mischabuckler/Library/Developer/Xcode/DerivedData/TRx-clxlusutxvcrlkddtqwtoxibcmhc/Build/Products/Debug-iphonesimulator -F/Users/mischabuckler/Library/Developer/Xcode/DerivedData/TRx-clxlusutxvcrlkddtqwtoxibcmhc/Build/Products/Debug-iphonesimulator -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Library/Frameworks -filelist /Users/mischabuckler/Library/Developer/Xcode/DerivedData/TRx-clxlusutxvcrlkddtqwtoxibcmhc/Build/Intermediates/TRx.build/Debug-iphonesimulator/UnitTests.build/Objects-normal/i386/UnitTests.LinkFileList -bundle_loader /Users/mischabuckler/Library/Developer/Xcode/DerivedData/TRx-clxlusutxvcrlkddtqwtoxibcmhc/Build/Products/Debug-iphonesimulator/TRx.app/TRx -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=6.1 -framework SenTestingKit -framework UIKit -framework Foundation -o /Users/mischabuckler/Library/Developer/Xcode/DerivedData/TRx-clxlusutxvcrlkddtqwtoxibcmhc/Build/Products/Debug-iphonesimulator/UnitTests.octest/UnitTests

ld: file not found: /Users/mischabuckler/Library/Developer/Xcode/DerivedData/TRx-clxlusutxvcrlkddtqwtoxibcmhc/Build/Products/Debug-iphonesimulator/TRx.app/TRx clang: error: linker command failed with exit code 1 (use -v to see invocation)

+0

不知道你的問題是什麼。你想做什麼? – 2013-04-09 01:08:29

+0

對不起,我會編輯的問題更清楚。 – dwf 2013-04-09 01:09:15

+0

您是在嘗試構建測試目標還是應用目標? – 2013-04-09 03:28:44

回答

4

因此,對於其他人誰發現這一點,是失意什麼我落得這樣做刪除了我的兩個應用程序的目標依賴和單元測試,然後一旦構建應用程序,然後重新添加和構建應用程序再次,它運行良好。

+0

同樣的錯誤,感謝 – 2014-10-18 12:22:52

+0

很大的幫助應用目標 – Boon 2014-11-21 17:14:27

+2

沒有對活像我。 – 2014-12-16 12:55:34

25

當您重命名主目標並且測試目標尚未更新時,會發生這種情況。檢查測試目標中的構建設置,並確保路徑指向新文件夾。例如,如果您將目標SuperAwesome重命名爲Super,則測試目標需要SuperAwesome.app/文件夾中的文件,當它應該更新爲Super.app/

+0

不存在目標相關謝謝:d - 鉛解決大量的使用這種以及 – 2015-02-18 07:32:27

+6

要解決此問題的其他問題對我來說,我不得不進入測試目標,然後構建設置鏈接類別,並刪除路徑在調試和發佈中引用。這些路徑被重命名 – user1233894 2015-03-11 03:49:25

+0

我面臨同樣的問題,它實際上是給了一個錯誤的錯誤。應用程序之前,指向舊的目標。不過,我似乎無法找到生成設置編輯路徑參考:我發現他們的測試下生成設置 – Matt 2015-04-10 05:05:08

5

好的,這個線索雖然很難找到,但是上面發佈的消息不是構建應用的消息,而是您的單元測試。它也在輸出窗口的頂部提到它,但不期望改變。

你可能已經重命名了你的方案,並且這樣做的單元測試指向你的真實構建或其他東西。你的應用程序可能實際上已經建好,但它的單元測試目標失敗了。

如果問題在於您在UnitTest方案中重命名了目標,請轉到構建設置並搜索TEST,這會顯示TEST HOST的設置。確保這些值指向您希望調用測試應用程序的任何內容,而不是主要的可執行文件。

對我來說,這僅僅是在我的測試目標的TEST_HOST的調試&版本設置上追加「測試」的情況。這一切都爲我現在建立,雖然令人討厭的是它實際上構建了兩個目標 - 至少他們都編譯。

+0

感謝@馬特你的答案幫助了我。 +1。 – 2014-12-05 18:43:34

4

嘗試複製目標,並使用目標副本運行。

1

進入項目 - >構建設置 - >測試 - >測試主機 刪除測試主機中的所有路徑,並做一個乾淨的構建。

2

我討厭Mach-o鏈接器錯誤,它令人沮喪,無論如何,我通過創建一個新的方案面臨同樣的問題,它對我來說就像魔術一樣工作。 Adding new scheme

0

嘗試運行清理,然後建立/運行項目

enter image description here