2014-06-06 10 views
5

Sono nuovo di XCode e Objective C/Swift. Sto cercando di creare un progetto di libreria Swift che non dipenda dal cacao o altro. Quindi sono solo file Swift. Che tipo di progetto dovrei creare (presumo che ci siano molti modi per farlo? Come devo configurare il progetto in modo che si costruisca in un file .so? E infine come lo costruisco a. così archiviare?Come si compila il progetto della libreria rapida nel file .so?

sto usando Xcode6-beta.

+0

Stavo cercando qualcosa di simile prima e ho scoperto che senza "import Foundation" non si può fare nulla con il linguaggio (date un'occhiata all'intestazione!), Quindi non sono sicuro di quanto lontano possiamo andare con il bit "non dipende da Cocoa". Sarebbe interessato a sentire se le persone si spingono oltre con i loro tentativi. – Saran

risposta

0

... Penso che si sta limitando il filo logico di un bit o in attesa di passi da gigante in modo rapido rapido è pronto a lavorare con c oggettiva e cacao quindi non sarai in grado di evitare completamente il cacao, ma non dovrai scrivere nulla di ciò che il compilatore farà per te, ma dovrai comunque usare strutture di cacao o moduli come fondamenta (contiene molti oggetti specializzati per lo sviluppo del programma), UIKit, CoreData tuttavia questi non richiedono di scrivere il cacao e, se non sbaglio, il file .so viene creato su compilare in modo da non realmente toccare quel file, ma i file di supporto, piuttosto è .swift

farlo

se state cercando di fare tutto a livello di codice o se si desidera XIB o storyboard basta fare un nuovo progetto preferisco un vuoto (imposta il linguaggio di programmazione in modo rapido e decidi se vuoi dati di base o non completare la procedura guidata del progetto e bam hai un YourAppDelegate.swift puoi creare un altro file .swift o uno storyboard e spero tu sappia cosa fare da lì. libro Swift è disponibile su iBook gratuitamente la sua ben scritto

anche se sarà un bel po 'prima di cacao e veloce sono completamente separate ... se mai

+1

Il mio obiettivo non è quello di usarlo su un'app osx o ios. Il mio obiettivo è quello di utilizzare questo per costruire una libreria condivisa/app principale che può essere condivisa tra iOS e Android (tramite Android NDK). Non ci sarà alcun componente UI in questa libreria. Le funzionalità linguistiche non dovrebbero dipendere da Cocoa. Dovrei essere in grado di compilare un pezzo di codice condiviso che non richiede il cacao. Forse sto fraintendendo il ruolo del cacao? Ho letto fino a 1/4 dell'iBook su Swift finora. Non mi dice nulla sulla compilazione. Sto solo cercando di compilare un file .so e vedere se posso accedervi tramite Java JNI – spierce7

+0

oh mi dispiace allora la mia risposta è completamente sbagliata Non sono sicuro di come faresti, suona ragionevole se si desidera solo utilizzare il linguaggio di base rapido, tuttavia non sono sicuro di come si possa fare il .so forse si può scegliere a parte.file del parco giochi e non sono sicuro di come java accedesse ai valori che continuerò a cercare mi dispiace non ho potuto aiutare alcuno – Snymax

+0

nvm a raccogliere attraverso il parco giochi che ho appena provato e ha un file .swift e un file timeline. e ho anche compilato un'app che conteneva solo file swift e plist, durante la compilazione aggiunge un sacco di altri file e il file swift è compilato come un .o ed è nella normale directory di oggetti – Snymax

1

È possibile creare una libreria di Swift per iOS con la creazione di un nuovo Xcode Project e selezione di iOS/OS X -> Framework & Library -> Cocoa Touch Framework e quindi l'impostazione della lingua su Swift nella schermata successiva.

Una volta che questo progetto è stato creato, non è necessario collegarsi ai framework Cocoa e rimuovere eventuali riferimenti ad essi, se necessario.

Dopo aver compilato questo progetto Xcode creerà una cartella .framework nella directory di build che contiene una libreria dinamica a cui dovresti essere in grado di collegarti. Si noti tuttavia che non ho ancora avuto alcun successo a collegarmi direttamente a questo file, anche se sembra essere una libreria dinamica standard.

In termini di utilizzo di questo file di oggetti condivisi su Android, credo che sarete sfortunati, poiché il linguaggio Swift (come Objective-C) richiede una libreria di runtime che non è attualmente disponibile su altre piattaforme in questo momento.

+0

Informazioni preziose. Grazie. È possibile che swift utilizzi lo stesso runtime dell'obiettivo C. Le persone sono state in grado di includere l'obiettivo C runtime per Android: https://www.apportable.com/ Forse avrei fatto questa domanda un po 'troppo presto. Apple non ha ancora rilasciato un sacco di informazioni su di esso, e gli sviluppatori stanno ancora sperimentando la lingua. – spierce7

Problemi correlati