2016-02-06 14 views
12

Po raz pierwszy za pomocą kapsułek kakao (najnowsza wersja) dla zależności w najnowszym Xcode 7.2.1 z Swift 2.1. Inicjuję folder projektu, a następnie edytuję plik podfile i dodaje moje zależności. Po uruchomieniu pod install działa bez żadnego problemu, dopóki nie otworzę projektu i nie spróbuję zbudować. Próbowałem tego z dwoma oddzielnymi projektami (z których jeden jest nowy do testowania) i otrzymuję linker command failed with exit code 1 (use -v to see invocation) dla obu. Mój plik pod wygląda następująco:Błąd cocoapods: komenda linker nie powiodła się z kodem zakończenia 1 (użyj opcji -v, aby wyświetlić wywołanie)

platform :ios, '8.0' #8.0 is minimum supported, right? 
use_frameworks! 

target 'Testing Frameworks' do 
    pod 'Alamofire', '~> 3.0' 
end 

Odpowiedz

42

Zamknij bieżący projekt i otwórz .xcworkspace utworzony w folderze projektu.

Powodzenia!

+1

Całkowicie usunąłem wszystkie pliki i zależności z projektu i otrzymałem pomyślną kompilację z tylko podstawowymi plikami projektu. Potem ponownie zrobiłem 'pod init' na projekcie, dodałem zależności do mojego pliku pod, zrobiłem' podinstalację' i otworzyłem projekt z nowym 'xcworkspace'. Ładuje projekt, ale ma dokładnie ten sam błąd i nowe ostrzeżenie, które mówi: Cel "Pods-projekt" projektu "Pods" został odrzucony jako domniemana zależność dla "Pods_project.framework", ponieważ jego architektury "x86_64" nie zawierają wszystkie wymagane architektury "i386 x86_64 ' – drpcken

+2

Mam to, musiałem zmienić' TYLKO AKTYWNA ARCHITEKTURA BUILD' na NIE w ustawieniach kompilacji. Dziękuję Ci! – drpcken

+0

to mi przeszkadzało od jakiegoś czasu i śmiałem się, gdy czytałem twoją odpowiedź z powodu jej krótkiego i prostego brzmienia. Nie spodziewałem się tego XD. Dzięki za dobrą pracę! – krummens

4
  1. Przejdź do Ustawień projektu.
  2. Przejdź do Ustawień konstrukcyjnych.
  3. Zmiana ARCHITEKTURY AKTYWNEJ AKTYWNE TYLKO na NIE.
4

Po prostu miałem podobny problem w moim projekcie. Okazało się, że w ustawieniach generalny projektu w dziale „Związany ram i bibliotek” istnieją dwa pliki dla strąków. "libPods.a" i "Pods_ProjectName.framework "

Usuwanie "libPods.a" pomogły w moim przypadku

Linked Frameworks and Libraries

7

najpierw spróbować do Pokaż raportu Navigator(8. kartę w lewym nawigatora z Xcode) i sprawdź raportnależy podać kilka informacji, co się dzieje jak:.

framework not found Pods_[PODFILE_OLD_ABSTRACT_TARGET_NAME].

Często po zmianie abstract_target Nazwy (lub cokolwiek Cocoapods korzysta wymienić ram w przyszłości) w podfile sprawdzić łącza binarny swój cel za pomocą bibliotek pod faz Build.

Jeśli utrzymuje ramy ze starą nazwą, która już nie istnieje (obok nowego), usunąć go.

+1

Jesteś moim bohaterem. – Ricardo

1

Rozwiązaniem dla mnie było dodanie flagi `$ (odziedziczonej) do LIBRARY_SEARCH_PATHS w docelowych ustawieniach kompilacji.