2015-05-24 19 views
9

La mia app per iOS riproduce suoni con AVPlayer. Per fare questo ho dovuto digitare in seguito sulla parte superiore di una classe:Strutture e librerie collegate nel progetto Swift

import AVFoundation 

mi è venuto da Objective-C di fondo, così sono andato a scheda Generale del progetto Xcode e ha aggiunto AVFoundation lì facendo clic sul pulsante più sotto the Strutture e librerie collegate. La cassetta degli attrezzi gialla è comparsa nel mio progetto. Devo farlo?

Ho provato a rimuoverlo dal progetto, sia dalla barra laterale che dalle preferenze Xcode, la mia app funziona ancora e vengono riprodotti suoni. Quindi lo import gestisce tutto per te?

+0

"import' sembra gestire tutto (almeno per le librerie di Apple). – nhgrif

risposta

8

Sì, import a Swift è fondamentalmente lo stesso come @import in Objective-C (al contrario di #import <…>), che importano i moduli .

Questa nuova funzione (moduli) è stato introdotto di recente (? 1-2 anni fa) e fa importare il quadro per voi, senza la necessità di collegare in modo esplicito che si app con esso: quando si utilizzano moduli (@import in objC, import in Swift), il compilatore vedrà il nome del modulo e collegherà la tua app al framework in modo implicito e automatico per te.

Quindi questa è una nuova funzionalità che non avevamo indietro nel giorno in cui l'#import era l'unica opzione e abbiamo dovuto aggiungere manualmente le strutture di sistema.

(Si noti che i moduli erano disponibili solo per i framework Apple fino all'arrivo di iOS 8. Ma ora che è possibile creare i propri framework dinamici per iOS8, sono disponibili anche per i framework di terze parti, purché siano disponibili un module.map)


Se siete interessati, potete leggere di più in the Clang documentation itself. Anche vari post di blog parlano dell'argomento (ad esempio, il primo risultato di Google è this blog post)

Problemi correlati