Ho sentito che è necessario ottenere un Mac se si desidera sviluppare app per iPhone. È vero?
È possibile sviluppare app per iPhone usando Linux? Se sì, di cosa ho bisogno e dove posso scaricare gli strumenti necessari?
Ho sentito che è necessario ottenere un Mac se si desidera sviluppare app per iPhone. È vero?
È possibile sviluppare app per iPhone usando Linux? Se sì, di cosa ho bisogno e dove posso scaricare gli strumenti necessari?
Risposte:
Per fornire una risposta diversa, sto eseguendo OS X e Xcode su una macchina virtualizzata (VMware) su Linux. La CPU è un Core2Quad (Q8800) ed è perfettamente veloce. Ho trovato una VM precompilata online (lo lascerò a te per trovare) Lo sviluppo di Xcode / iPhone funziona perfettamente, così come il debug tramite USB sul telefono stesso.
In realtà mi ha sorpreso molto, ma non ho avuto nessun problema.
La risposta a questo dipende davvero dal fatto che tu voglia o meno sviluppare app che vengono poi distribuite attraverso l'iPhone store. Se non lo fai, e non ti dispiace sviluppare per la folla iPhone "jailbroken", allora è possibile sviluppare da Linux.
Controlla la pagina di questo cap per una guida completa (se un po 'complessa) su cosa fare:
Sembra essere vero finora. L'unico SDK disponibile da Apple è destinato esclusivamente all'ambiente MacOS. Sono stato arrabbiato per questo, ma sto cercando di acquistare un mac ora, solo per fare lo sviluppo di iPhone. Non mi piace molto quello che stanno facendo e spero che esca un buon SDK per altri ambienti, come Linux e Windows.
Ostacoli relativi all'SDK:
IPhone SDK e software gratuito: non una partita
Apple ha recentemente rilasciato un kit di sviluppo software (SDK) per iPhone, ma se speravi di portarlo o sviluppare un software open source originale con esso, le notizie non sono buone. La firma del codice e le condizioni di non divulgazione rendono il software libero un gioco da ragazzi.
L'SDK stesso è un download gratuito, con il quale è possibile scrivere programmi ed eseguirli su un simulatore software. Ma per rilasciare effettivamente il software che hai scritto, devi iscriverti al Programma per sviluppatori iPhone: un passaggio separato dal download dell'SDK e uno che richiede l'approvazione di Apple.
Penso che sia piuttosto elitario per loro pensare che solo gli utenti macos siano abbastanza bravi da scrivere programmi per il loro telefono, e il fatto che tu abbia bisogno di acquistare una licenza da $ 100 se vuoi pubblicare le tue cose, rende davvero più difficile per il programmatore hobbista. Tuttavia, se è quello che devi fare, sto pensando di saltare attraverso i loro cerchi; Mi piacerebbe davvero sviluppare alcune cose sul mio iPhone.
Ci deve essere utilizzato un progetto dedicato a risolvere questo difetto: iphone-dev
L'obiettivo del progetto iphone-dev è quello di creare una toolchain gratuita, portatile e di alta qualità per consentire lo sviluppo dell'iPhone di Apple e di altri dispositivi integrati basati sulla piattaforma ARM / Darwin.
Per quanto riguarda la catena di strumenti alternativi, il sito di Saurik è utile, ma per lo sviluppo del firmware più recente indica che si sta costruendo sull'iPhone stesso e rimane libero di indicare che potrebbe essere necessario copiare i file del firmware iPhone necessari nel proprio ambiente Linux. Non è impossibile, ma richiede solo un lavoro aggiuntivo, in particolare per la firma del codice (ci sono anche soluzioni alternative aperte).
Inoltre, dai un'occhiata ad altre guide (per la stessa catena di strumenti) che le affrontano in modo più metodico.
Suggerirei di eseguire ancora la build finale, la firma del codice e il packaging in XCode (che potrebbe significare prendere in prestito il Mac di qualcuno) nel caso in cui si verifichino problemi durante l'invio della domanda ad Apple. L'uso della catena di strumenti alternativa apre (almeno su Mac) la possibilità di utilizzare altri IDE diversi da XCode per sviluppare l'applicazione e ricorrere nuovamente a XCode per la distribuzione e il test con il simulatore.
Ovviamente se ottieni la firma del codice / la generazione del certificato funzionante dalla riga di comando al di fuori di XCode, puoi installare un certificato sul tuo iPhone reale e testarlo lì (installando l'app tramite iTunes con il tuo certificato).
L'unico modo che conosco per fare sviluppo in Linux per iPhone sarebbe installare Vmware e lavorare su come far funzionare OS X in una macchina virtuale. Detto questo, ci sono alcune preoccupazioni "legali" nel farlo. È stato riferito che OS X Server può essere virtualizzato ma per quanto riguarda la storia di sviluppo che non conosco.
Se sei davvero serio, questo è ciò su cui investigerei.
In bocca al lupo.
Potresti essere in grado di scrivere codice su una scatola Linux che alla fine si troverà su un iPhone o iPad, ma alla fine avresti bisogno di un Mac per testare o distribuire il codice su iPhone o inviarlo all'App Store. Quindi alla fine hai bisogno di un Mac, quindi potresti anche fare il lavoro sul Mac, con tutti gli strumenti forniti da Apple. Esistono alternative a Xcode e Objective-C, come Monotouch, ma utilizzano anche gli strumenti Apple.
Con un po 'di lavoro puoi eseguire OS X in una VM su Linux. Tuttavia, dovrei sottolineare che questo violerà il contratto di licenza OSX, anche se acquisti la copia di OSX, poiché è concesso in licenza solo per essere eseguito su hardware Apple.
Mi dispiace darti questa notizia: l'ecosistema attorno all'iPhone / iPad è strettamente controllato.
EDIT: una delle principali eccezioni è la scrittura di un'app Web per iPhone. Esistono alcune eccellenti app Web per iPhone che sono quasi altrettanto efficaci dell'esperienza utente di un'app nativa. Tuttavia, ho interpretato la tua domanda in merito allo sviluppo di app native. Le app Web, sebbene l'utente possa creare un'icona per avviarle, sono ancora cittadini di "seconda classe".
Ho avuto successo nel creare app iOS su Linux usando la toolchain iOS clang di cjacker . Fondamentalmente è composto dagli strumenti clang e llvm a monte della tua distribuzione Linux, una porta linux del linker di apple e alcuni strumenti extra per aiutare a semplificare il processo di compilazione (come la conversione di progetti xcode in formato Makefile).
L'installazione richiede pochi passaggi, ma sei uno sviluppatore di software, quindi ti ci abitui. Ho pubblicato un howto aggiornato per Debian 7 (Wheezy) online:
http://www.ninthavenue.com.au/how-to-build-an-ios-toolchain-for-linux-debian-7
Altrimenti vuoi andare con le istruzioni generiche che sono un po 'più vecchie:
http://code.google.com/p/ios-toolchain-based-on-clang-for-linux/wiki/HowTo_en
In bocca al lupo.
C'è un quadro chiamato Rodi .
Il concetto si basa su Ruby on Rails e sviluppi l'app mobile in Ruby e HTML e puoi scrivere il tuo codice in un ambiente Linux. Puoi quindi creare un account su Rhohub , dove aggiungi il codice (tramite GitHub ) e ti consente di compilarlo per iPhone, Blackberry, Android, Windows Mobile e Symbian, tutto con lo stesso codice. Non è necessario codificare in Objective-C per iPhone, né Java per Android, ecc. Fa le conversioni per te. Tutto quello che devi fare è attenersi alle Regole per la creazione di un'applicazione per iPhone (o del telefono per cui vuoi sviluppare), in modo che possa essere accettata su iTunes (o sul mercato equivalente).
Ciò ti consentirà di aggiungere l'app anche ad iTunes.
Tuttavia, non ho trovato alcun emulatore, il che significa che per testare la tua app devi metterla su un iPhone, che è una missione.
Sto usando questa opzione per creare app per tutti i telefoni e utilizzo già Ruby on Rails. Se vuoi solo creare un'app per un iPhone, investi in un Mac.
Spero che sia di aiuto.
Hai ragione, i telefoni senza jailbreak sono limitati all'App Store di Apple e Apple "ha il diritto" di applicare qualunque regola, è un territorio totalmente non libero. Tuttavia, durante lo sviluppo, non si dovrà assolutamente fare i conti con Apple. Puoi usare ad esempio rsync per caricare il codice sul dispositivo e testarlo.
In una certa misura, sì, è possibile. È possibile digitare il codice Objective-C e impostare i progetti. Puoi anche testare le parti C e C ++ del tuo codice con gcc.
Cosa non puoi fare:
È necessario ottenere mac per questo. Sono disponibili diverse catene di strumenti (come win-chain) che in realtà ti consente di scrivere e creare applicazioni i Phone su Windows. Esistono diverse esercitazioni associate per creare il codice obiettivo C su Windows. Ma c'è un problema, le app così sviluppate funzioneranno solo con i telefoni rotti.
Abbiamo visto alcuni hack per superarlo e arrivare all'App Store, ma poiché Apple continua ad aggiornare gli SDK, le catene di strumenti necessitano di aggiornamenti regolari. È una seccatura inventarsi tutto il tempo. Se vuoi prepararti un'app puoi anche ottenere aiuto da arcapps le sue app di lancio a un prezzo ragionevole. sviluppo di app per iPhone
Ho provato a trasferire cocos2d-iphone su GNUstep in modo da poter sviluppare un gioco basato su cocos2d. Tuttavia, per la pubblicazione è necessario un mac. cocos2d-GNUstep .
Consiglierei di ottenere un Mac perché il simulatore iOS è fantastico per i test nelle prime fasi di un'app. Ma conosco una piccola azienda con cui lavoriamo che si sviluppa utilizzando Unity, quindi non hanno bisogno di un sacco di Mac. In questo modo hanno solo bisogno di un mac per l'ufficio e questo è solo per compilare la build finale. Significa anche che funziona su Android, ma dipende davvero da ciò che costruisci perché è un motore di gioco. Potresti voler esaminare le app Web utilizzando framework come Sencha Touch Mobile
Unity: http://unity3d.com/ Sencha Touch: http://www.sencha.com/products/touch/
Se apprezzi il tuo tempo, acquista un Mac! Non so abbastanza sulle opzioni di sviluppo di Linux per offrire una soluzione praticabile, ma sembra che i metodi proposti comportino un lavoro piuttosto circolare. Se hai intenzione di scrivere seriamente e vendere app per iPhone, penso che potresti facilmente recuperare i costi di un Mac Mini o Macbook. :-)
Non riceverai mai l'app approvata da Apple se non è stata sviluppata utilizzando Xcode. Mai. E se lo fai hackerare l'SDK per svilupparlo su Linux e Apple lo scopre, non essere sorpreso quando ti viene servito. Sono un membro del programma per sviluppatori ADC e iPhone. Fidati, Apple è MOLTO seria al riguardo.
Non correre il rischio, acquista un Macbook o un Mac mini (sì, un mini può eseguire Xcode - anche se lentamente - aumenta la RAM se vai con il mini). Inoltre, mentre ho visto OS X hackerato per funzionare su VMware, non ho mai visto nessuno eseguire Xcode su VM. Perciò buona fortuna. E controllerei l'EULA prima di affrontare il problema.
PS: Dopo aver letto quanto sopra, sì, sono d'accordo se fai hacking SDK e sviluppi su Linux almeno esegui il packaging finale su un Mac. E invialo tramite un Mac. Apple non scorre il codice riga per riga, quindi dubito che lo prenderebbero. Ma amico, sono molti se e lavoro. Sii divertente comunque. :)