2013-04-09 24 views
9

Podczas próby kompilacji mojego projektu pojawia się ten błąd i zastanawiam się, czy ktoś wie, jak to naprawić?Plik .app nie został znaleziony w danych pochodnych

Czytałem każdą odpowiedź na SO i gdzie indziej w Internecie dotyczącą tego rodzaju błędu linkera. Próbowałem już wielu rozwiązań, w tym bardzo popularnych - wyprowadzonych danych w Xcode, całkowicie zamknąć xcode, usunąć go ponownie w linii poleceń, a następnie ponownie uruchomić xcode - nadal nic. Zaczęło się to po tym, jak próbowałem podłączyć urządzenie do mojego komputera (które usunąłem od organizatora), które było przyjaciółmi, aby spróbować uruchomić go na swoim iPadzie. Jestem na końcu rozumu i nie mogę sobie pozwolić na marnowanie więcej czasu na to. Wszelkie pomysły, jak to naprawić?

Plik aplikacji w folderze Produkty jest czerwony.

EDYCJA: Więcej informacji: Rzeczywista aplikacja nie jest budowana i umieszczana w katalogu Biblioteka/Programista/{aplikacja}/Kompilacja/Produkt. Próbowałem ponownie połączyć urządzenie i dodać profil świadczenia ręcznie ze strony internetowej firmy Apple, a następnie próbować Budować-> Archiwizuj aplikację, gdy urządzenie jest wybrane. Nadal dostaję błąd. Próbowałem przejść z debugowania do wydania na Schematy i robiąc wszystko, nadal dostaję błąd. Próbowałem odinstalować xcode i ponownie go zainstalować, usuwając aplikację całkowicie z komputera (w tym dane pochodne), wycofując się z Git i otrzymuję ten sam błąd.

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

Nie wiesz, co Twoje pytanie. Co próbujesz zrobić? –

+0

Przepraszam, że będę edytować pytanie, aby było bardziej zrozumiałe. – dwf

+0

Czy próbujesz zbudować cel testowy lub cel aplikacji? –

Odpowiedz

4

Więc dla każdego, kto uważa, że ​​to i jest sfrustrowany, co skończyło się robi było usunięcie zależności docelowe zarówno dla mojej aplikacji i testy jednostkowe, a następnie buduje aplikację raz, a następnie ponowne dodanie ich i budowania Aplikacja znowu działa i działa.

+0

ten sam błąd i mam przed sobą –

+0

świetną pomoc, dzięki – Boon

+2

Nie wor dla mnie. –

25

Dzieje się tak, gdy zmienisz nazwę głównego celu, a cel testu nie został zaktualizowany. Sprawdź ustawienia kompilacji w miejscu docelowym testu i upewnij się, że ścieżki wskazują nowe foldery. Na przykład jeśli zmieniono nazwę celu na SuperAwesome na Super, docelowy test oczekuje plików w folderze SuperAwesome.app/, gdy powinien zostać zaktualizowany do Super.app/

+0

DZIĘKUJEMY: D - prowadzę do rozwiązania wielu innych problemów z wykorzystaniem tego również –

+6

Aby rozwiązać problem, musiałem przejść do celu testowego, następnie utworzyć ustawienia, kategorię Łączenie i usunąć ścieżkę odwołuje się do debugowania i wydania. Ścieżki te wskazywały na stary obiekt docelowy przed zmianą nazwy na – user1233894

+0

Mam do czynienia z tym samym problemem i w rzeczywistości daje błąd dla niewłaściwego .app. Jednak nie mogę znaleźć odniesienia do ścieżki w Ustawieniach kompilacji EDYCJA: znalazłem je w sekcji Testowanie w Ustawieniach kompilacji – Matt

5

Dobra wskazówka, choć trudna do zauważenia, to że wiadomość, którą umieściłeś powyżej, nie jest jednym z twoich aplikacji, ale twoje jednostki testują. Wspomina również o tym w górnej części okna wyjściowego, ale nie oczekuje się, że to się zmieni.

Prawdopodobnie zmieniłeś nazwę swojego schematu, a test jednostkowy wskazuje na twoją prawdziwą budowę lub coś innego. Twoja aplikacja może faktycznie dobrze się skompilować, ale jej cel testowy urządzenia kończy się niepowodzeniem.

Jeśli problem polegał na zmianie nazwy celów, a następnie na schemacie UnitTest, przejdź do ustawień kompilacji i wyszukaj TEST, który powinien wywołać ustawienia dla TEST HOST. Upewnij się, że te wartości wskazują na to, co ma wywoływać aplikacja testowa, a nie na główny plik wykonywalny.

Dla mnie był to tylko przypadek dołączenia "testu" do obu ustawień debugowania & ustawienia TEST_HOST mojego testowego celu.

Wszystko teraz buduje się dla mnie, choć irytująco buduje oba cele - przynajmniej oba się kompilują.

+0

dzięki @matt Twoja odpowiedź pomogła mi. +1 za to. –

4

Spróbuj zduplikować cel i wykonać go, używając kopii celu.

1

Przejdź do strony Project -> Build Settings -> Testing -> Test Host Usuń wszystkie ścieżki z hosta testowego i wykonaj czystą kompilację.

2

Nienawidzę błędów łącznika Mach-o, co jest frustrujące, w każdym razie, stawiałem czoła temu samemu problemowi, tworząc nowy schemat, działał jak magia dla mnie. Adding new scheme

0

Spróbuj uruchomić Czyste i następnie Build/Uruchom projekt

enter image description here

Powiązane problemy