Nie mogę pozbyć się tego błędu!
Próbowałem różnych rzeczy, takich jak czyszczenie danych pochodnych (Preferencje-> Lokalizacje-> kliknij szarą strzałkę, aby otworzyć folder danych pochodnych w Finderze-> kliknij prawym przyciskiem myszy, przenieś do kosza), czyszczenie projektu (CMD + Shift + K lub Produkt -> Wyczyść), aktualizowanie kartaginy i zależności, sprawdzanie innych odpowiedzi na StackOverflow (głównie korekty w ustawieniach / fazach kompilacji) i ponowne klonowanie aplikacji z github itp.
Ten sam projekt działa na komputerach moich współpracowników.
EDYCJA: Z aktualnie najwyżej ocenianej odpowiedzi udało mi się trochę dalej debugować ... Jednak nadal nie jestem pewien, jak to naprawić. Wygląda na to, że mam coś w projekcie dwa razy? Szukałem i nie mogę znaleźć niczego, co się pojawiło dwa razy!
Odpowiedzi:
Miałem dzisiaj ten sam problem w Xcode 8 w wersji 8.3.2
kliknij prawym przyciskiem myszy problem -> pokaż w dzienniku
wtedy możesz sprawdzić, co powoduje ten problem
źródło
Być może zainstalowałeś plik pod i nadal próbujesz zbudować z
.xcodeproj
pliku zamiast.xcworkspace
źródło
.xcodeproj
przez ponad rok .. Coś tak prostego!jedyną rzeczą, która działała dla mnie, było bieganie
pod deintegrate
ipod install
źródło
próbowałeś wyczyścić? cmd + shift + k
źródło
Okej ... Więc oto co rozwiązało mój problem ...
w pliku delegata aplikacji:
Zaimportowałem Credentials.h już w pliku DarkSkyAPI.m w moim projekcie. Skomentowanie dodatkowego importu sprawiło, że błąd zniknął!
Kilka rzeczy, o których warto wspomnieć i może pomóc komukolwiek w przyszłości. Odpowiedź @umairqureshi_6 pomogła mi w tym procesie, ale go nie rozwiązała. Doprowadził do miejsca, w którym mogłem wydobyć informacje. Ciągle widziałem pliki AppDelegate i DarkSkyAPI pojawiające się w dzienniku błędów, a informacje, które pobierały z pliku Credentials, powodowały błąd. Wiedziałem, że musi znajdować się w jednym z tych 3 plików, więc od razu sprawdziłem import, ponieważ przypomniałem sobie, że plik .h zawiera wszystkie importy z pliku .m. Bum!
źródło
Mam już odpowiedź na to pytanie. Ale jeśli to pomaga komuś zaoszczędzić trochę czasu: miałem ten sam błąd. Sprawdziłem wszystko, aby znaleźć bardzo mały i głupi błąd z mojej strony. Zaimportowałem podstawowy plik danych ManagedObject w kontrolerze widoku mojego projektu. Przypadkowo zaimportowałem plik .m zamiast pliku .h , który powodował powielenie symbolu w architekturze (polecenie konsolidatora nie powiodło się), ponieważ mój plik .m klasy properties importuje plik .h podstawowej klasy danych, powodując zduplikowany import.
Po prostu sprawdź, czy zaimportowałeś właściwe pliki, zanim wypróbujesz wiele rozwiązań.!
źródło
Wiele rozwiązań zostało wymienionych powyżej. Nikt dla mnie nie pracował (ale najpierw spróbuj powyżej).
Wybierz Project -> Select Target -> Linked Framework and Libraries -> Add all pod libraries. (usuń, jeśli istnieją w osadzonych plikach binarnych)
Teraz usuń je z folderu Framework w lewym eksploratorze plików xcode.
To rozwiązało mój problem.
źródło
Wybierz projekt-> Faza budowy-> Połącz plik binarny z bibliotekami i dodaj wszystkie biblioteki pod.
źródło
Miałem ten sam problem, używając Kartaginy do zależności.
Po prostu przejdź do Select Project -> Build Settings -> Search for Enable Bitcode -> Jeśli jest wybrana na Yes, wybierz No.
To rozwiązało ten problem.
źródło
Miałem ten sam problem.
Przyczyną było to, że zadeklarowałem tę samą zmienną globalną w 2 plikach . Więc pokazywał ten sam błąd, mówiąc o 2 zduplikowanych symbolach .
Rozwiązaniem było usunięcie tych zmiennych.
źródło
Dla każdego, kto ma ten problem z platformą Flurry. To rozwiązało mój problem. Dla mnie problem polegał na tym, że zaimportowałem następujące pliki, ale nigdy ich nie użyłem. „libFlurryTVOS_9.2.3” „libFlurryWatch_9.2.3”
Wszystko, co musiałem zrobić, to przejść do ustawień docelowych projektu i usunąć te 2 pliki z sekcji „Powiązane ramy i biblioteki”, a problem został rozwiązany.
źródło
W moim przypadku przyczyną błędu jest biblioteka, do której linkowano dwa razy.
Używam,
react-native
więc został połączony automatycznie za pomocąreact-native link
i ręcznie w xcode.źródło
Upewnij się, że
Find Implicit Dependencies
pole wyboru jest zaznaczone.(Produkt -> Schemat -> Edytuj schemat -> Kompiluj -> Znajdź niejawne zależności)
źródło
Testowałem platformę Sparkle z CocoaPods.
Niestety, umieściłem
pod 'Sparkle', '~> 1.21'
PodFile w złym miejscu. Umieściłem to pod testami (dla testów jednostkowych).Po umieszczeniu w odpowiednim miejscu w PodFile wszystko jest w porządku.
źródło
Po prostu musiałem to zrobić
import Foundation
!Używałem Kitury po stronie serwera Swift i ciągle o tym zapominałem!
źródło
Oto mój problem i rozwiązanie:
Usunąłem dwa pliki z kodu źródłowego za pomocą drzewa źródłowego (kontrolera wersji). Po zastosowaniu różnicy, która zawiera dwie usunięte przeze mnie klasy, Xcode nie dodał jej automatycznie. Więc otrzymałem błąd konsolidatora.
Dodałem pliki ręcznie, klikając prawym przyciskiem myszy nazwę grupy i wybierając „Dodaj pliki do”. Teraz mój błąd został rozwiązany.
Jeśli ktoś napotkał błąd konsolidatora dotyczący pliku klasy, spróbuj dodać go ręcznie.
źródło
Nie miałem tego problemu, gdy zbudowałem i uruchomiłem na własnym urządzeniu. Miałem ten problem tylko z symulatorami. Po prostu ponownie uruchomiłem komputer i uruchomiłem go. Zadziałało.
źródło
W moim przypadku zmieniłem
Target
nazwę w moim,Podfile
więc tworzy dla mnie ten sam błąd.Po prostu idź
project-> Build Phase->Link Binary with libraries
Usuń stareFrameWorks
, klikającminus button(-)
I wyczyść i uruchom ponownie. Pracuję dla mnie.Usuń niechciane
.framework
.źródło
Inne odpowiedzi nie zadziałały dla mnie, więc tutaj udostępniam moje rozwiązanie na wypadek, gdyby mogło pomóc komuś innemu:
Mój problem polegał na tym, że konfigurowałem Podfile mojego projektu XCode dla złej platformy. Zmiana „platform: ios” na początku mojego Podfile na „platform: macos” pomogła mi pozbyć się błędu.
źródło
Miałem ten sam problem. Jeśli sprawdzasz dowolny projekt github, zamiast używać git clone, użyj git lfs clone, ponieważ czasami niektóre duże pliki nie są poprawnie klonowane przy użyciu samego git. Upewnij się również, że twój kod bitowy jest wyłączony.
źródło
Dla mnie plik blokady klejnotów określał starszą wersję cocoapodów niż ta, którą zainstalowałem.
bundle exec pod install
Zamiast tego musiałem ponownie rozgałęzić się i uruchomićpod install
źródło
Wygląda na to, że u większości z nas problem jest inny, a komunikat o błędzie zawiera przyzwoite informacje. W moim przypadku cel wdrożenia został ustawiony
10.13
naexport MACOSX_DEPLOYMENT_TARGET=10.13
linię, ale działałem10.14
. Musiałem więc zmienić cel wdrożenia na10.14
Ogólne> Informacje o wdrożeniu, aby symbole związane z ITLibrary były ponownie dostępne.źródło
W moim przypadku produkowałem wiele produktów z tego samego projektu. W przypadku jednego z produktów
main.m
plik zaimportował plik nagłówkowy z innego folderu w tym samym projekcie. Ale ten plik nie został uwzględniony w sekcji „Zgodne źródła” w sekcji „Faza budowy”. Spowodowało to błąd konsolidatora.Po dokładnym porównaniu ustawień „Fazy kompilacji” dla produktu, który mógłby zostać pomyślnie zbudowany, zdałem sobie sprawę, że
.m
plik nagłówka musi znajdować się na liście „Skompilowane źródło”. Mój problem został rozwiązany po dodaniu tego pliku. Dołączenie zdjęcia dla większej przejrzystości. Zaznaczony plik musiał zostać dodany.źródło
Te same problemy napotkałem podczas tworzenia projektu Ionic 1.
Udało mi się rozwiązać problem po usunięciu pliku CDVLogger.h i CDVLogger.m
źródło
Ok, miałem ten sam problem właśnie dzisiaj i zacząłem go googlować, kiedy natknąłem się na ten wątek. Nie skończyłem czytać pytania, gdy przyszła mi do głowy odpowiedź: zadeklarowałem klasę z pustym konstruktorem
Wtedy pomyślałem, dlaczego nie zakończyć (nie jestem pewien, czy mam rację z wyborem słów tutaj, ale kogo to obchodzi) konstruktora mojej klasy za pomocą nawiasów klamrowych (
{}
). Więc zrobiłem:Problem został wyeliminowany, mój kod zaczął działać idealnie.
Wiem, dobrą praktyką jest zbadanie problemu i znalezienie prawdziwej przyczyny, ale to zadziałało.
źródło