2015-04-05 16 views
6

Sono nuovo in Xcode e in Swift. Sto cercando di capire l'utilizzo di "import" in ViewController e "import framework" nel mio progetto. Esempio: se io uso CoreLocation, hanno bisogno Ho solo importare CoreLocation nel mio ViewController, o ho bisogno di importare CoreLocation.framework nel mio progetto troppo? Dico questo perché tutto funziona bene solo usando importazione CoreLocation nella parte superiore del mio ViewController, senza importare il suo framework.Qual è la differenza tra "import" di framework e "linking" con framework?

Grazie!

risposta

7

Il codice import facilita la compilazione del codice, assicurando che vengano trovate le intestazioni corrette. La sezione "Collega binarie con le librerie" delle "Fasi di creazione" in "Impostazioni progetto" (ora inclusa anche nella scheda "Riepilogo" sotto "Biblioteche e framework collegati") specifica con quali strutture e librerie il tuo codice oggetto sarà collegato.

Storicamente abbiamo sempre dovuto specificare questi due separatamente, ma ora c'è un progetto che imposta "Link Frameworks Automatically", che se attivo, collegherà automaticamente il framework al tuo progetto se lo hai import nel tuo codice sorgente. Devi anche avere "Abilita Moduli" attivato.

+0

Quindi devo aggiungere * import * nel mio codice sorgente senza aggiungere framework, se "Link Frameworks Automatically" è attivo? – Giuseppe

+0

Sì, per quadri. Per le librerie (ad esempio libsqlite3.0.dylib, ecc.), È comunque necessario aggiungerle manualmente, ma per i framework, è necessario aggiungerle automaticamente. Nota, per far funzionare tutto questo è necessario sia "Link Frameworks Automaticamente" _and_ "Enable Modules". – Rob

+0

Sì, sono entrambi ON. Ad esempio: nella mia app utilizzo MapKit e CoreLocation. Prima di fare ciò, ho avuto, nella sezione "Funzionalità", Maps attivato. Ora senza framework di collegamento manualmente, l'ho impostato su OFF. È normale? – Giuseppe