Base su questa questioneNon è più necessario collegare framework al progetto XCode?
Why don't iOS framework dependencies need to be explicitly linked to a static library
ho letto la risposta selezionato e ancora non capisco così ho fatto un progetto di esempio
Nel progetto di test, tolgo tutte quadro da Link binario con librerie e Navigazione file per il progetto principale e la libreria statica (inclusa Foundation. framework e UIKit.framework), fondamentalmente, sia il collegamento del progetto a 0 framework.
domande sono
- In libreria statica, è compreso MapKit/MapKit.h senza fare riferimento alla Mapkit.framework al progetto, perché è la sua ancora lavorando?
- Nel progetto principale, rimuovo UIKit.framework e Foundation.framework dal progetto, perché funziona ancora?
- Dal momento che funziona per ora, ci sarà qualche problema dopo?
Grazie per il tuo commento.
P.S. Per funzionante al, voglio dire che posso eseguire il simulatore e posso archiviare il progetto principale senza errori.
Edit 25/07/2014
ho provato con l'applicazione reale che sto lavorando su, è la stessa.
- Evidenzia Foundation, UIKit, CoreData e 10 altri framework in File Navigation, beh, tutti.
- Deseleziona il bersaglio nel Pannello di Utilità -> Target adesione
- Corporatura: Pass, Run: Passa
Ogni funzionalità della mia app è ancora lavorando come previsto. Non capisco questo.
Grazie @Tommy, sì, è impostato su SÌ. Se posso chiedere, il valore predefinito per Link Frameworks è automaticamente SÌ, giusto? Se è così, posso dire che quando creo un nuovo progetto, non ho bisogno di collegarmi a nessun framework? –
Sì, ora è "Sì" per impostazione predefinita. Inoltre, dall'aprire un mio vecchio progetto sembra che sia impostato su "Sì" quando apri tutto ciò che precede la funzione. Quindi non penso che sia necessario preoccuparsi di elencare esplicitamente i framework [correttamente costruiti] nel passaggio di collegamento mai più. Pedanticamente: continuerai a collegarti a loro, è solo che il compilatore può capirlo da solo. – Tommy
Grazie per il chiarimento, suppongo che sia una nuova funzionalità aggiunta di recente e non ho letto il registro delle modifiche di LLVM, quindi non ne sono a conoscenza. –