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?

arwaz shaikh
źródło
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.

King-Wizard
źródło
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ą.

Dave Ruske
źródło
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.

Eric Murphey
źródł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)”
Jorge Casariego
źródło