Po zaktualizowaniu Firebase przez „aktualizację podów” pojawił się następujący błąd:
ld: warning: directory not found for option '-F/Users/bennysantoso/Library/Developer/Xcode/DerivedData/FCM-atfcxuircoryufazlomgwfgmvaqm/Build/Products/Debug-iphonesimulator/GoogleToolboxForMac'
ld: framework not found GoogleToolboxForMac
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Tutaj mój plik Podfile:
# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
pod 'Firebase/Core'
pod 'Firebase/Messaging'
target 'BB' do
# Comment this line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for BB
target 'BBTests' do
inherit! :search_paths
# Pods for testing
end
target 'BBUITests' do
inherit! :search_paths
# Pods for testing
end
end
Czy ktoś wie o tym błędzie?
Szukam relacji GoogleToolboxForMac i Firebase, ale dostaję tylko trochę informacji.
FYI, używam Swift 2.3 i Firebase 3.8.0.
Będę wdzięczny za każdą pomoc, jakiej możesz udzielić. Dzięki!
Odpowiedzi:
Miałem ten sam błąd. Po zainstalowaniu strąków zobaczysz następujący komunikat.
Nie zauważyłem tego po raz pierwszy i próbowałem zbudować projekt przy użyciu zwykłego pliku xcodeproj. Po tym, jak zobaczyłem tę wiadomość, otworzyłem odpowiedni projekt i działał dobrze.
Po otwarciu tego projektu zauważysz, że masz dwa podprojekty. Jeden byłby twoim projektem, a innym projektem Pods.
źródło
Nie znaleziono struktury
Podczas korzystania z Podów zwykle napotykamy ten problem.
Są ku temu dwa główne powody
Gdy opcja Buduj tylko aktywną architekturę jest ustawiona na Tak w Ustawieniach kompilacji
Dotyczy to celu projektu, a także wszystkich celów w projekcie pod
Główny zrzut ekranu projektu
Zrzut ekranu projektu Pod
Wreszcie wyczyść i przebuduj swój projekt.
źródło
W moim przypadku cała integracja jest dobrze wykonana, a także próbowałem tyle razy usunąć i ponownie zainstalować pod, ale nie udało się.
Na koniec spróbuj wykonać poniższy krok
I osiągnij sukces.
źródło
GoogleToolboxForMac to zależność Firebase / Messaging. Szczegóły w podspec . Wykonując „aktualizację podów”, Cocoapods powinien skonfigurować obszar roboczy do tworzenia i łączenia GoogleToolboxForMac.
Wygląda na to, że coś w Twoim miejscu pracy jest w złym stanie. Czy Product -> Clean pomaga? A co z usunięciem danych pochodnych i modułu ModuleCache (Xcode -> Preferencje -> Lokalizacje -> Dane pochodne)?
Nie powinno to być konieczne, ale możesz również spróbować jawnie dodać pod 'GoogleToolboxForMac / Logger' do swojego Podfile.
źródło
źródło
Zostało to naprawione przez dodanie $ ( inherited ) w ustawieniach kompilacji -> Wyszukaj LIBRARY_SEARCH_PATHS.
Jest to zrozumiałe, ponieważ podczas aktualizowania pliku pod dla najnowszych wersji bibliotek, od których zależy Twój projekt, wynik debugowania informuje, gdzie należy dodać wszystkie flagi $ (dziedziczone): LIBRARY_SEARCH_PATHS OTHER_LD_FLAGS GCC_PREPROCESSOR_DEFINITIONS
źródło
Idź do:
target -> Build Settings -> Other Linker Flags -> remove framework "GoogleToolboxforMAC"
i skompiluj projekt.źródło
Miałem ten sam problem, gdy próbowałem go uruchomić na moim urządzeniu. Na symulatorze działało dobrze. Wypróbowałem niektóre z powyższych, ale nie zadziałało. Sprawdziłem, że byłem w pracy
.xcworkspace
zamiast.xcodeproj
pliku, więc próbowałem tego. Wykonaj następujące kroki, aby:Uwaga: to jest to samo, co ustawiłeś
Project->Targets->Deployment info->Deployment Target
.Może ktoś na tym skorzysta.
źródło
Jeśli napotkasz ten sam błąd, w swoim XCode przejdź do:
Twój projekt > cel > przewiń w dół do połączonej struktury i bibliotek i sprawdź, czy pozycja biblioteki jest wyszarzona:
Jeśli tak, usuń go i dodaj ponownie. W moim przypadku miałem zduplikowane wpisy i jeden z nich był wygaszony (gdy XCode nie może ich znaleźć na dysku).
źródło
Zamknąłem projekt, który próbowałem zbudować po tym, jak zainstalowałem pod, a następnie otworzyłem .workspace i wszystko działa idealnie.
źródło
Otwórz your-project.xcworkspace w miejscu docelowym projektu.
1) Otwórz terminal -> 2) $ cd / project_destination -> 3) $ open your-project.xcworkspace
lub po prostu otwórz plik w Finderze
źródło
Upewnij się, że ustawienia „Buduj aktywną architekturę” dla celu projektu i kapsuły są takie same. Ustawienie NIE w obu tych przypadkach rozwiązało mój problem.
źródło
Mój problem polegał na tym, że miałem skrypt / bin / sh, który kopiował określone nieistniejące pody. To był jeden z nich. Usunięcie skryptu rozwiązało problem z kompilacją.
źródło
-Szukaj na dysku twardym plików GoogleToolboxForMac, znalezionych w: / Users / Marco / Documents / iosapps / BomRetiro / Bom Retiro / Pods / Target Support Files
A potem rozwiązuje się dla mnie otwarcie pliku usinf projektu .xcworkspace.
źródło
Dla tych, którzy po tym wszystkim nadal mają problemy. Pracuję nad projektem Cordova i problem pojawił się nagle po aktualizacji do XCode 11.5.
Wreszcie udało mi się go rozwiązać, otwierając plik pods.json w katalogu głównym projektu i usuwając wpis w „bibliotekach”, który należy do „FirebaseMessaging”. Nie używaliśmy tego i nie wiem, jak to się tam dostało. Dodatkowo zmieniłem „Ustawienia budowania” -> „Tylko buduj aktywną architekturę” na „Nie” wszędzie.
Następnie ponownie otworzyłem plik .xcworkspace i kompilacja została uruchomiona.
źródło
Szybka 5 prosta odpowiedź
Shift+Alt+Cmd+K //Clean the project and Run again! //if not work restart Xcode and again clean it //Its will work happy coding
źródło
Friends, you must be confused with the exact result, as i was. So, i feel to share the screenshot that might be helpful. We all had to be careful that we need to change the flag for property **"Build Active architecture Only"** for **pod target** to **NO** And build, it would not show the linking error. See the attached screenshot. Screen Shot 1, Screen Shot 2, Screen Shot 3 [Select Pods][1] [Select Targets in the pod][2] [Change flag to No][3] [1]: https://i.stack.imgur.com/E7mjX.png [2]: https://i.stack.imgur.com/wCwET.png [3]: https://i.stack.imgur.com/KVGKM.png
źródło