2015-12-16 15 views
30

Sto lavorando a un progetto in Xcode e sto tentando di installare e utilizzare il pacchetto CryptoSwift tramite Swift Package Manager.Come installare il pacchetto in Xcode tramite Swift Package Manager

Ho letto il documentation su SPM, ma non vedo le istruzioni su come richiamare SPM tramite Xcode.

Gli esempi spesso si riferiscono alla chiamata $ swift build. Questo significa che l'SPM è accessibile solo dalla riga di comando? E se sì, dove esattamente dovrei creare il file Package.swift?

Sono abbastanza familiare con Xcode, ma non capisco il significato della parte delle impostazioni di costruzione di un progetto o di come vengono utilizzati i moduli Swift.

Se è necessario più contesto, this è il progetto su cui sto lavorando in Xcode.

MODIFICA: questa domanda è stata originariamente richiesta per Xcode 7.2, fornito con Swift 2.1.1. Accetterà volentieri le risposte che spiegano come farlo con le versioni attuali/future di Xcode.

+0

Qualsiasi aggiornamento su questo ora che 7.3 è fuori? –

+1

@JohnD, Swift Package Manager non è stato rilasciato con Xcode 7.3 e Swift 2.2.1. Dovrebbe essere rilasciato con Swift 3. –

risposta

13

Allo stato attuale, per utilizzare Swift Package Manager noto come SPM, è necessario installare la versione di sviluppo di Swift 2.2 fornita da Apple here. Xcode 7.2 fornito con Swift 2.1.1 e non funziona con SPM a meno che non sia installato Swift 2.2-dev.

È possibile compilare con Swift 2.2-dev ma è necessario eseguire la build di CryptoSwift sulla riga di comando utilizzando swift build. Quando la libreria e le modulemaps sono costruite, puoi trascinarle e rilasciarle in Xcode 7.2 usando il Finder. SPM inserisce i file richiesti in una directory .build. Ma Xcode 7.2 deve essere avviato con la toolchain alternativa. Questo può essere fatto dalla riga di comando usando xcrun launch-with-toolchain /Library/Developer/Toolchains/swift-latest.xctoolchain Dovresti essere in grado di import dai moduli/librerie create con SPM.

Nota, tuttavia, che non è possibile inviare app iOS allo Store al momento che sono state costruite con la versione di sviluppo 2.2 . È possibile creare/eseguire/testare le cose in generale senza problemi, anche se i Playground non sono funzionali e possono esserci problemi di Xcode con il debugger.

+0

Tutto quanto sopra è corretto ... Consiglierei di aspettare (si spera non molto a lungo) per eliminare XCode 7.3 che ha una migliore integrazione con la catena di strumenti Swift. – rougeExciter

17

Swift Package Manager ora supporta la generazione di progetto Xcode con

swift package generate-xcodeproj 

come indicato nel this answer, ma questo funziona solo quando lo sviluppo di una biblioteca, o di uno strumento a riga di comando. Not (yet) for (iOS/OS X) graphical application developer:

Nota che al momento il Gestore pacchetti non supporta le piattaforme iOS, watchOS o tvOS.

Nota:

  • Potrebbe non funziona bene se c'è uno spazio nel vostro nome del pacchetto, vale a dire il cambiamento "App Store" a "AppStore".
+0

Con il rilascio di Swift 3 e Xcode 8 è cambiato? – zirinisp

+0

@zirinisp Funziona ancora per me, con Xcode 8 stabile (aggiornato oggi) su El Capitan. –

+0

funziona perfettamente quando si utilizza Mac Xcode per lo sviluppo di Linux – AleyRobotics

Problemi correlati