Ostrzeżenie dotyczące ścieżki wyszukiwania biblioteki Xcode 7


117

To jest ostrzeżenie, które pokazuje:

nie znaleziono katalogu dla opcji „-F / Applications / Xcode-beta.app / Contents / Developer / Platforms / iPhoneOS.platform / Developer / SDKs / iPhoneOS9.0.sdk / Developer / Library / Frameworks” ”

Czy ktoś może pomóc rozwiązać ostrzeżenie?


1
Ta odpowiedź naprawiła ten błąd: stackoverflow.com/questions/26665196/ ...
— fpr0001

@arwaz shaikh Nie zapomnij oznaczyć mojej odpowiedzi jako właściwej (jeśli uważasz, że dobrze odpowiada na Twoje pytanie), może to pomóc ludziom szybciej ją znaleźć za pośrednictwem Google lub Stack Overflow.
— King-Wizard

Odpowiedzi:


225

W ten sposób rozwiązałem ten problem

Po migracji mojego projektu Xcode, z Xcode 6.4 do Xcode 7, otrzymuję poniższy komunikat ostrzegawczy (po kompilacji) dla celu testowego :

directory not found for option '-F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/Developer/Library/Frameworks'

Właściwie znalazłem coś, porównując nowy projekt ze starszym ...

W starym projekcie ostrzeżenie było generowane tylko przez cel testowy moich projektów. Pod „szukaj Ścieżki” , uważam, że to było w tym dwie pozycje pod „Ramy Szukaj Ścieżki” :

$(SDKROOT)/Developer/Library/Frameworks
$(inherited)

Nowy projekt pozostawił puste „Framework Search Paths” .

Usunięcie tych wpisów w moim starszym projekcie spowodowało usunięcie ostrzeżenia.

Uwagi:

Nie porównałem do końca ustawień, więc mogą wystąpić dodatkowe różnice.

Ponadto, na wypadek, gdyby któregoś dnia ponownie napotkał jeden z dwóch następujących komunikatów ostrzegawczych , pamiętaj, że będziesz musiał to zrobić: jeśli ostrzeżenie dotyczy opcji '-L/...', czyli Ścieżki wyszukiwania w bibliotece, usuń te rzeczy. Jeśli jednak ostrzeżenie dotyczy opcji, '-F/...'którą są Ścieżki wyszukiwania struktury, usuń tam rzeczy.


2
Powyższe jest poprawne. Jeśli jednak używasz CocoaPods, odkryłem, że wpis może również znajdować się w tworzonych plikach * .xcconfig. Rozwiązanie jest identyczne: usuń go, w tym przypadku z linii FRAMEWORK_SEARCH_PATHS w plikach * .xcconfig.
— podatek ekologiczny

2
Mam dokładnie ten sam problem (-F / ...) i już usunąłem rzeczy w ścieżkach wyszukiwania struktury, ale ostrzeżenie nadal się wyświetla.
— Gabe

4
Wyczyść i ponownie skompiluj projekt Xcode, a komunikat ostrzegawczy powinien zniknąć.
— King-Wizard

1
Nie używałem celu testowego i musiałem go usunąć, aby go zbudować.
— TheLastNightTrain

King-Wizard ma poprawną odpowiedź, ale bardziej szczegółowo musisz przejść do
— ``

19

Na podstawie komunikatu o błędzie wydaje się, że pierwszym zadaniem jest wyprostowanie ścieżki celu. Możesz edytować ścieżki, jak pokazano w odpowiedziach na to pytanie StackOverflow . Pamiętaj, aby sprawdzić ścieżkę do wszystkich celów, jeśli nie jesteś pewien, który generuje błąd - to mnie trochę zrzuciło po uaktualnieniu projektu do Xcode 7 beta; w FRAMEWORK_SEARCH_PATHS znajdowała się ścieżka do celu testowego, którą należało usunąć. Ścieżka, która tam była, była dokładnie tą ścieżką, o której zgłaszałeś otrzymanie ostrzeżenia; usunięcie ścieżki wyeliminowało ją.


16

King-Wizard jest zasadniczo poprawny, aby rozwinąć trochę więcej -

Xcode 7 szuka twojej platformy testowej XCtest.frameworkna ścieżce, która nie istnieje. Ścieżka ustawiona w $(SDKROOT)/Developer/Library/Frameworkssekcji „Ścieżki wyszukiwania -> Ścieżki wyszukiwania struktury” szuka struktury, w /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/Developer/Library/Frameworksktórej nie jest prawidłowa ścieżka. Możesz usunąć wiersz, $(SDKROOT)/Developer/Library/Frameworksaby usunąć błąd i nadal mieć możliwość wykonywania testów.

Prawidłowa ścieżka do „XCTest.framework” jest /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworksdla tych, którzy są ciekawi.

Mam nadzieję że to pomogło.


1

Miałem ten sam błąd z Xcode 9.2, a oto moje rozwiązania bez robienia ręcznie:

  1. Kliknij swój projekt w Nawigatorze projektu
  2. Przejdź do celów i kliknij MyProjectNameTest
  3. Kliknij Ustawienia kompilacji i wyszukaj „ Ścieżki wyszukiwania struktury ”
  4. W obszarze Framework Search Paths usuń ścieżki i zachowaj „$ (inherited)”.

wprowadź opis obrazu tutaj

Dla tych z Was, którzy mają następujący błąd:

nie znaleziono katalogu dla opcji „-L /…

oznacza to, że jest to błąd biblioteki, więc możesz spróbować wykonać poniższe czynności:

  1. Kliknij swój projekt (cele)
  2. Kliknij Ustawienia kompilacji, wyszukaj „Ścieżki wyszukiwania w bibliotece”
  3. W obszarze Ścieżki wyszukiwania w bibliotece usuń ścieżki i zachowaj „$ (dziedziczone)”
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.