Avviso sul percorso di ricerca della libreria Xcode 7


117

Questo è l'avvertimento che sta mostrando:

directory non trovata per l'opzione "-F / Applications / Xcode-beta.app / Contents / Developer / Platforms / iPhoneOS.platform / Developer / SDKs / iPhoneOS9.0.sdk / Developer / Library / Frameworks" "

Qualcuno può aiutare a risolvere l'avvertimento?


1
Questa risposta risolto questo errore a me: stackoverflow.com/questions/26665196/...
fpr0001

@arwaz shaikh Non dimenticare di contrassegnare la mia risposta come risposta giusta (se pensi che risponda correttamente alla tua domanda), potrebbe aiutare le persone a trovarla più rapidamente tramite Google o Stack Overflow.
King-Wizard,

Risposte:


225

Ecco come ho risolto questo problema

A seguito di una migrazione del mio progetto Xcode, da Xcode 6.4 a Xcode 7, ricevo il messaggio di avviso di seguito (dopo la compilazione) per il target di test :

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

In realtà ho trovato qualcosa confrontando un nuovo progetto con uno più vecchio ...

Nel vecchio progetto, l'avvertimento veniva prodotto solo dal target di prova dei miei progetti. In "Percorsi di ricerca" , ho scoperto che includeva due elementi in "Percorsi di ricerca del framework" :

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

Il nuovo progetto ha mantenuto vuoti i "Framework Search Paths" .

L'eliminazione di quelle voci nel mio vecchio progetto ha quindi rimosso l'avviso.

Appunti:

Non ho confrontato in modo esaustivo le impostazioni, quindi potrebbero esserci ulteriori differenze.

Inoltre, nel caso in cui un giorno dovessi incontrare di nuovo uno dei due seguenti messaggi di avviso , ricorda che dovrai farlo: se l'avviso è per l'opzione '-L/...'che è Percorsi di ricerca della libreria, elimina il materiale lì. Tuttavia, se l'avviso riguarda un'opzione '-F/...'che è Framework Search Paths, elimina il contenuto lì.


2
Quanto sopra è corretto. Tuttavia, se usi CocoaPods, ho scoperto che è anche possibile che la voce risieda nei file * .xcconfig che crea. La soluzione è identica: rimuovila, in questo caso dalla riga FRAMEWORK_SEARCH_PATHS nei tuoi file * .xcconfig.
tassa ecologica

2
Ho lo stesso identico problema (-F / ...) e ho già cancellato le cose in Framework Search Paths, ma l'avviso continua a essere visualizzato.
Gabe12

4
Pulisci e ricostruisci il progetto Xcode e il messaggio di avviso dovrebbe scomparire.
King-Wizard

1
Non stavo usando l'obiettivo di prova e alla fine ho dovuto eliminarlo per farlo costruire.
theLastNightTrain

King-Wizard ha la risposta corretta, tuttavia più specificamente devi andare nelle 'Impostazioni di
compilazione

19

Sulla base del messaggio di errore, sembra che il primo ordine del giorno sia raddrizzare il percorso del bersaglio. Puoi modificare i percorsi come mostrato nelle risposte a questa domanda StackOverflow . Assicurati di controllare il percorso per tutti i tuoi obiettivi se non sei sicuro di quale sia l'errore: questo mi ha lasciato un po 'a bocca aperta dopo aver aggiornato un progetto alla versione beta di Xcode 7; c'era un percorso in FRAMEWORK_SEARCH_PATHS per l'obiettivo di test che doveva essere eliminato. Il percorso che era lì era esattamente il percorso su cui segnalate di aver ricevuto l'avviso; la rimozione del percorso lo eliminava.


16

King-Wizard è essenzialmente corretto, per elaborare un po 'di più -

Xcode 7 sta cercando il tuo framework di test XCtest.frameworkin un percorso che non esiste. Il percorso impostato da $(SDKROOT)/Developer/Library/Frameworksin "Percorsi di ricerca -> Percorsi di ricerca del framework" sta cercando il framework in /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/Developer/Library/Frameworkscui non è un percorso valido. È possibile eliminare la riga $(SDKROOT)/Developer/Library/Frameworksper rimuovere l'errore ed essere ancora in grado di eseguire i test.

Il percorso corretto per "XCTest.framework" è /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworksper coloro che sono curiosi.

Spero che aiuti.


1

Ho avuto lo stesso errore con Xcode 9.2 ed ecco le mie soluzioni senza fare a mano:

  1. Fare clic sul progetto in Project Navigator
  2. Vai alle destinazioni e fai clic su MyProjectNameTest
  3. Fare clic su Build Settings e cercare " Framework Search Paths "
  4. In Framework Search Paths , elimina i percorsi e mantieni "$ (inherited)".

inserisci qui la descrizione dell'immagine

Per quelli di voi che hanno il seguente errore:

directory non trovata per l'opzione '-L / ...

significa che si tratta di un errore di libreria, quindi puoi provare a seguire i passaggi seguenti:

  1. Clicca sul tuo progetto (target)
  2. Fai clic su Impostazioni build, cerca "Percorsi di ricerca libreria"
  3. In Percorsi di ricerca della libreria, elimina i percorsi e mantieni "$ (inherited)"
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.