Próbuję dodać platformę do mojego projektu IOS, ale kiedy buduję, zawsze otrzymuję ten sam komunikat:
ld: framework nie znaleziono Pods
clang: error: komenda linkera nie powiodła się z kodem wyjścia 1 (użyj -v, aby zobaczyć wywołanie)
Próbowałem usunąć mój Pods
katalog, a następnie uruchomić. pod install
Otwieram .xcworkspace
go tak, jak zapisano w dziennikach instalacji pod, czyszczę projekt na xcode, a następnie próbuję zbudować, ale to nie działa.
Mój podfile wygląda następująco:
xcodeproj '/Users/guillaume/project/Mobile/iOS/FoodPin/FoodPin.xcodeproj'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
pod 'SwiftHTTP', '~> 0.9.2'
Moja wersja xcode to 6.3.1
Dziękuję Ci,
libpods.a
jest to w „Połączonych ramach i bibliotekach” twojego celu? A także w fazach kompilacji?Odpowiedzi:
W
Project Navigator
folderzePods
miałemPods.framework
tam, który był czerwony. Był także obecny wLinked Frameworks and Libraries
. Usunąłem oba odniesienia i błąd zniknął.TL; DR
Usuń
Pods.framework
za:Pods
Linked Frameworks and Libraries
źródło
use_frameworks!
a potem bez i być możePods.framework
nie zostało to poprawnie usunięte podczaspod install
. Może to być błąd w Cocoapods.Jest to zwykle spowodowane tym, że plik .xcodeproj jest otwarty zamiast .xcworkspace.
Gdy uruchomisz po raz pierwszy instalację pod, utworzy plik .xcworkspace, który zawiera twój oryginalny plik .xcodeproj i projekt Pods. Musisz zamknąć .xcodeproj i zamiast tego otworzyć .xcworkspace.
Jest to powszechny problem podczas tworzenia projektu za pomocą nowego kreatora projektu Xcode - często zapominam, że nie jestem w obszarze roboczym, który jest wymagany do prawidłowego połączenia Cocoapods.
źródło
Xcode 9, 10, 11, 11.5
zainstaluj https://github.com/CocoaPods/cocoapods-deintegrate
następnie
źródło
Usunąłem ten błąd, usuwając czerwone
.framework
pliki znajdujące się w folderzeFrameworks
w folderzeproject navigator
. Myślę, że to również automatycznie usunęło odpowiednie czerwone wpisy wLinked Frameworks and Libraries
sekcjiGeneral
ustawień.Czyściłem / ponownie instalowałem zasobniki, aby rozwiązać inny problem. Być może te czerwone pliki frameworka i wpisy były po prostu resztkami z poprzedniej instalacji pod?
źródło
Dla tych, którzy znajdą ten problem. Korzystam z NativeScript i dostałem ten sam błąd.
Dzieje się tak, ponieważ otworzyłem plik .xcodeproj, ale musimy otworzyć projekt przy pomocy pliku .xcworkspace.
źródło
Zdarzyło mi się to po zaktualizowaniu pliku Podfile i wykonaniu aktualizacji zasobnika.
Z jakiegoś powodu miałem plik struktury „Pods_ [ProjectName]”. Pod moim projektem w obszarze „Cele”> Ogólne> Połączone ramy i biblioteki.
Usunięcie tego, a następnie wyczyszczenie / przebudowanie naprawiło problem.
źródło
Miałem podobny problem jak
Problem został rozwiązany przez usunięcie następujących elementów. Idź do celu OneSignalNotificationServiceExtension> Fazy kompilacji> Połącz pliki binarne z bibliotekami i usuwając Pods_OneSignalNotificationServiceExtension.framework Mam nadzieję, że to pomoże. Twoje zdrowie.
źródło
Pods_OneSignalNotificationServiceExtension.framework
wraca, by prześladować mnie w połączonych ramach i bibliotekachOneSignalNotificationServiceExtension
celu.pod install
, jest losowe.*.xcodeproj/*.xcworkspace
nad*.xcworkspace
z skrypt automatyzacji moich VSTS .yml. Wiem lepiej z GUI, ale wciąż przyzwyczajam się do wymagań w skryptach.Wystąpił ten błąd, ponieważ zmieniłem nazwę projektu i zmieniłem nazwę projektu w pliku pod, ale mój projekt odwoływał się do starej nazwy, której nie było i powodował ten błąd. Pozbywam się tego przez
śledzony przez
źródło
powinieneś usunąć swój projekt jako plik jako ten obraz.
źródło
Wystarczy usunąć plik .framework z listy „Twój projekt-> Ogólne-> Powiązane ramy i biblioteki”.
źródło
To zdarzyło się mnie, bo zmienił
Deployment Target
sięGeneral
, ale zapomniał zmienićDeployment Target
inPods > General
.źródło
W moim przypadku mogę zbudować go na urządzeniach i symulatorze, ale ma te same błędy podczas archiwizacji. Aby to rozwiązać, muszę
Pods.framework
Pods-<project-name>.framework
jest osadzonyUstawienia znajdziesz w zakładce CELE -> Powiązane struktury i biblioteki.
źródło
Krok 1
Krok 2
Krok 3
Krok 4
Jedyne, co możesz chcieć zrobić, to włączyć niektóre biblioteki, z których korzystałeś wcześniej. Możesz to zrobić, po prostu przeciągając dowolne foldery znajdujące się w folderach strąków do projektu (wolę umieścić je w folderze plików pomocniczych).
To zadziałało dla mnie.
źródło
Prawdopodobnie próbujesz zmusić strąki do pracy w swoim projekcie, prawda? Jedynym sposobem na to jest utworzenie osobnego projektu korzystającego z CocoaPods.
Zamknij wszystkie używane obszary robocze.
Następnie upewnij się, że Twój Podfile jest całkowicie gotowy do pracy.
W wierszu polecenia, gdziekolwiek znajduje się plik, wpisz polecenie:
Następnie zainstaluj pod agian.
Teraz możesz wykorzystać nowy obszar roboczy swojego projektu do rozwijania. Poszukaj pliku o nazwie .workspace. Użyj tego pliku!
Oto przewodnik na temat korzystania z CocoaPods
źródło
Przy użyciu Xcode 8.3 zaakceptowana odpowiedź nie działała dla mnie. Wypróbowałem wiele innych rozwiązań, ale odpowiedź @Elliott Davies jest tym, co mnie naprawiło. Dodaję zrzut ekranu, aby zachować jasność. Z jakiegoś powodu Xcode próbował połączyć poprzednie konfiguracje podfile, które już nie istniały. Musiałem tylko usunąć dodatkowe odniesienia i wszystko działało.
źródło
Ten problem doprowadzał mnie do szału, ponieważ nagle stało się to bez wprowadzania jakichkolwiek zmian w projekcie. Wypróbowałem wszystkie sugerowane rozwiązania w tym wątku (i innych powiązanych) i żadne z nich nie rozwiązało problemu.
Jedyną rzeczą, która różniła się od innych moich projektów (które dobrze się skompilowały), było to to, nazwa tego projektu zawierała akcent (francuski akcent „é”). Zmieniłem nazwę projektu i wszystkich powiązanych plików i w końcu zadziałało!
Może ma to związek z aktualizacją do Xcode 10, ponieważ ten projekt działał dobrze przed ...
EDYCJA: wydaje się, że również się nie udaje, gdy używasz projektu z
-
nazwą projektu…źródło
W moim przypadku, po porównaniu różnicy między gałęzią, którą znałem poprawnie zbudowaną, zauważyłem ten wiersz w moim Podfile:
Nieumyślnie podniosłem docelową wersję z 10 do 11, podczas gdy moje cele w Xcode pozostały ustawione na 10. Powrót do 10 rozwiązał mój problem.
Upewnij się, że docelowe wersje iOS są poprawnie ustawione.
źródło
W ten sposób naprawiam mój problem. i teraz działa, kiedy piszę tę odpowiedź:
Po pierwsze, staram się jak najlepiej naprawić powyżej,
usunięcie Pods_xxx.framework z bibliotek linków i frameworka w fazie kompilacji celu jest pomocne, a problem zniknie, ale nadchodzącym problemem jest to, że nie mogę już importować Pods.framework.
Następnie próbuję ponownie skonfigurować konfigurację xcworkspace, aby znaleźć prawdziwy problem. więc biegnę
a następnie ponownie zainstaluj mój moduł:
działa to doskonale, ale problem wciąż istnieje, ale wydaje mi się, że prawdziwym problemem jest to, że Pods_xxx.framworks nie może zostać skompilowany przez skrypt kompilacji cocoapods. Myślę, że to prawdziwy sposób na rozwiązanie problemu.
Wreszcie próbuję edytować schemat mojego projektu:
i dodam schemat Pods do zarządzania:
i zbuduj ten Pods.framework osobno, a przekonasz się, że ikona Pods.framework ponownie stała się prawdziwa:
więc przechodzę do ustawień kompilacji i edytuję za
"Framework Search Path"
pomocą"${inherited}"
, a teraz wszystkie problemy znikają , dopinguj !!!! :)źródło
${inherited}
ścieżkę, potem zrobiłemProduct->Clean Build Folder
i to wszystko, teraz buduje się bez żadnych problemów.Po usunięciu i aktualizacji kapsuły nadal miałem ten sam problem.
Znalazłem, że poprzedni programista umieścił flagę w „ Ustawieniach kompilacji -> Inne flagi linkera ” o nazwie Framework (w moim przypadku -framework „OGVKit”), który spowodował problem.
Po usunięciu tej flagi projekt buduje się poprawnie.
źródło
Wystąpił ten problem, ponieważ nie ustawiłem
platform
poprawnie.W mojej aplikacji macOS platforma była ustawiona na:
zamiast
źródło
Rozwiązałem ten problem, wybierając projekt, z którego został pobrany
CocoaPods
i zbudowany. Możesz kliknąć Zarządzaj schematami, aby pojawił się na pasku Uruchom. Następnie możesz odbudować swój projekt. Mam nadzieję, że to pomoże.źródło
W moim przypadku było odwołanie do biblioteki, którą usunąłem
Usunięcie biblioteki z Podfile i jej aktualizacja oczywiście nie usunęło jej, więc musiałem to zrobić ręcznie, a teraz wszystko działa.
źródło
Żadna z poprzednich odpowiedzi nie wskazała głównego problemu w mojej sytuacji. Mam więc nadzieję, że może to być przydatne dla kogoś innego.
W moim przypadku musiałem edytować plik pod w katalogu głównym mojego projektu. Kiedy pierwszy raz utworzyłem plik podfile, szybkie biblioteki statyczne nie były obsługiwane. Więc użyłem
use_frameworks!
w swoim pliku pod pod każdym z moich celów jako takich:PRZED
PO
Usunąłem
use_frameworks!
z mojego podfile których trzymane instalowania ram każdym razem wpadłem Pod zainstalować. Po usunięciu tego wiersza, uruchompod install
ponownie i usuń wszystkie czerwone odniesienia .framework z folderu Frameworks w Xcode. (Chociaż mój wyglądał inaczej, jak podano poniżej).Obraz usuwania plików .framework, które nie są już potrzebne
Możesz także przeczytać więcej o
use_framework!
tutaj .źródło
Jeśli otworzyłeś plik .xcworkspace i nadal występuje ten sam błąd:
źródło
Usuń folder ram utworzony po instalacji lub aktualizacji pod
źródło
Inną rzeczą, która rozwiązała mój problem, jest przejście do opcji Cel -> Ustawienia kompilacji -> Inne flagi linkera i usunięcie „-framework” i „nazwy” frameworka.
Stało się tak, gdy próbowałem usunąć kapsułę.
źródło
Rozwiązałem to, przeciągając
.framework
plik do Linked Framework i bibliotekPowiedzmy, że mam ten problem z powodu błędu
FIRAnalyticsConnector not found
i po prostu przeciągamFIRAnalyticsConnector.framwork
plik do Linked Framework i bibliotek i mój problem został rozwiązanyźródło
Próbowałem wszystkich odpowiedzi tutaj i żadna z nich nie działała. Skończyło się to na tym, że podniosłem cel wdrożenia z 10,0 do 11,0. Nie mam pojęcia, dlaczego to naprawiło, ale podejrzewam, że ma to związek z aktualizacją do Xcode 10.2.1.
źródło
może nagle otworzysz niewłaściwy plik .xcodprj i powinieneś otworzyć .xcworkspace
źródło
Sprawdź plik wykonywalny wewnątrz .Framework jak
Nazwa pliku wykonywalnego powinna podobać się bez żadnego rozszerzenia.
Niektóre struktury pokazują się tak
Za pomocą katalogu Terminal goto .framework użyj poniższego polecenia lipo -create FrameworkName-x86_64 FrameworkName-armv7 FrameworkName-armv7s FrameworkName-i386 FrameworkName-arm64 -output FrameworkName
po utworzeniu jednego pliku wykonywalnego usuń te pliki
źródło