Costruire un'app iOS senza possedere un Mac? [chiuso]


98

Per favore correggimi se sbaglio.

Sono nuovo nello sviluppo mobile e vorrei sviluppare un'app da inviare all'Apple Store.

Ma sono fortemente scoraggiato dai prezzi dei Mac in cui sto sviluppando l'app.

Diciamo che so esattamente cosa voglio e come codificarlo.

Se dovessi creare un account per sviluppatori e pagare la quota, prendi in prestito il Mac dei miei amici, scrivi il codice e invia il mio codice a Apple. È tutto ciò per cui ho bisogno del Mac? E poi sarò in grado di accedere a tutte le statistiche ecc. Tramite iTunes sul mio computer Windows?

Qualcuno può dirmi che sono delirante?


2
potrebbe essere ottenuto nel modo in cui parli, ma pensa su questo punto che se la tua app ha bisogno di aggiornamenti o bug o modifiche minori, allora? ogni volta che chiederai un favore al tuo amico?
D-eptdeveloper

5
Hai bisogno di un Mac per un serio sviluppo iOS. Periodo. E dopotutto non sono così costosi. E non dimenticare una manciata di dispositivi iOS su cui testare: le app che non sono state testate sull'hardware disponibile generalmente mostrano carenze.
Eiko

1
La parte delirante inizia con "So come codificarlo" ... se codifichi te stesso (cioè nessun lavoro su contratto da parte di altri), avrai bisogno di molti test e debug. Pensa a qualche settimana per avviare un progetto che valga la pena mostrare a qualcuno. Lucidarlo e renderlo "degno di un negozio" sarà un lavoro duro. Posso davvero solo pensare alle app più inutili (cioè "wrapper di siti Web") che vengono costruite in un giorno su un Mac se sei già uno sviluppatore iOS esperto.
Eiko

È possibile creare una toolchain iOS basata su GCC su Linux. Xcode non è un compilatore: è necessario solo per generare i certificati per inviare la tua app all'AppStore.
The Paramagnetic Croissant

2
Puoi cercare Hackintosh, che consente di eseguire Mac OS su processori Intel, ma penso che sia illegale.
Borzh

Risposte:


32

Lascia che ti dica passo dopo passo alcuni anni fa mi trovavo nella stessa situazione.

Quindi abbiamo due fasi

  1. Sviluppo di app per iPhone / iPad (iOS)
  2. Sviluppo di app per iPhone / iPad (iOS) e pubblicazione su iTunes Store

1. Sviluppo di app per iPhone / iPad (iOS)

Quindi, se vuoi solo sviluppare app iOS non vuoi pagare nulla,

Hai solo bisogno di Mac + XCode IDE

  1. Ottieni Mac Mini o Mac Machine
  2. Crea un account sviluppatore su Apple è gratuito
  3. Dopo aver effettuato l'accesso all'account sviluppatore, puoi scaricare il file .dmg di Xcode IDE
  4. È tutto.

Ora devi solo installare Xcode e iniziare a sviluppare app iOS e testare / eseguire il debug con Simulator.

2. Sviluppo di app per iPhone / iPad (iOS) e pubblicazione su iTunes Store

per pubblicare la tua app su iTunes Store devi pagare (esempio $ 99 / anno).

Quindi per completare la configurazione dello sviluppo iOS è necessario

  1. Ottieni Mac Mini o Mac Machine
  2. Crea un account sviluppatore su Apple è gratuito
  3. Dopo aver effettuato l'accesso all'account sviluppatore, puoi scaricare il file .dmg di Xcode IDE
  4. paga $ 99 per pubblicare app su iTunes
  5. crea i tuoi certificati per lo sviluppo / distribuzione sul tuo account Apple
  6. scarica tutto il certificato su macchina Mac e installa in XCode utilizzando lo strumento Portachiavi
  7. Ottieni almeno un dispositivo iOS
  8. Registra il tuo dispositivo sul tuo account Apple
  9. Ora puoi sviluppare un'app iOS, testare su Real Device e anche pubblicare su iTunes Store

Controlla questi requisiti iOS per Xamarin developer.xamarin.com/guides/cross-platform/getting_started/…
Jaider

Ma la domanda afferma specificamente "senza possedere un Mac?" ...
PF4Public

28

Su Windows, puoi usare Mac su una macchina virtuale (questo probabilmente funziona anche su Linux ma non l'ho testato). Una macchina virtuale è fondamentalmente un programma che esegui sul tuo computer che ti consente di eseguire un sistema operativo in una finestra all'interno di un altro. Assicurati di avere almeno 60 GB di spazio libero sul disco rigido. Il disco rigido virtuale che scaricherai inizialmente occupa 10 GB, ma una volta installati tutti i programmi necessari per lo sviluppo di app iOS, la sua dimensione può facilmente aumentare fino a 50 GB (consiglio di lasciare qualche GB di margine per ogni evenienza).

Ecco alcuni passaggi dettagliati per come installare una macchina virtuale Mac su Windows:

  1. Installa VirtualBox .

  2. Devi abilitare la virtualizzazione nel BIOS. Per aprire il BIOS su Windows 10, è necessario iniziare tenendo premuto il Shifttasto mentre si preme il pulsante Riavvia nel menu di avvio. Quindi otterrai una schermata blu con alcune opzioni. Scegli "Risoluzione dei problemi", quindi "Opzioni avanzate", "Impostazioni firmware UEFI", quindi "Riavvia". Quindi il tuo computer si riavvierà e aprirà direttamente il BIOS. Nelle versioni precedenti di Windows, spegni il computer normalmente, tieni premuto il F2tasto, riavvia il computer e non rilasciarlo F2finché non sei nel BIOS. Su alcuni computer potrebbe essere necessario tenere premuto un altro tasto di F2.

  3. Ora che sei nel BIOS, devi abilitare la virtualizzazione. Quale impostazione dovresti modificare dipende dal computer che stai utilizzando. Questo può variare anche tra due computer con la stessa versione di Windows. Sul mio computer, devi impostare Intel Virtual Technologynella Configurationscheda su Enabled. Su altri computer potrebbe essere in per esempio Security -> Virtualizationo in Advanced -> CPU Setup. Se non riesci a trovare nessuna di queste opzioni, cerca su Google . Non cambiare nulla nel BIOS in modo casuale perché altrimenti potrebbe causare problemi al tuo computer. Dopo aver abilitato la virtualizzazione, salva le modifiche e esci dal BIOS. Questo di solito viene fatto nella scheda.enable virtualization (the kind of computer you have)Exit

  4. Scarica questo file (non ho alcuna associazione con la persona che lo ha caricato, ma l'ho usato io stesso quindi sono sicuro che non ci siano virus). Se il collegamento si interrompe, pubblica un commento per farmelo sapere e cercherò di caricare il file da qualche altra parte. La password per aprire il file 7Z è stackoverflow.com. Questo file 7Z contiene un file VMDK che fungerà da disco rigido per la macchina virtuale Mac. Estrai quel file VMDK. Se lo spazio su disco è un problema per te, una volta estratto il file VMDK, puoi eliminare il file 7Z e quindi salvare 7 GB.

  5. Apri VirtualBox che hai installato nel passaggio 1. Nella barra degli strumenti, premi il pulsante Nuovo. Quindi scegli un nome per la tua macchina virtuale (il nome non è importante, l'ho chiamato "Mac"). In "Tipo", seleziona "Mac OS X" e in "Versione" seleziona "macOS 10.13 High Sierra (64 bit)" (la versione per Mac che installerai sulla macchina virtuale è in realtà Catalina, ma VirtualBox non ha questa opzione ancora e funziona bene se VirtualBox pensa che sia High Sierra).

    È anche una buona idea (sebbene non necessaria) spostare il file VMDK che hai estratto nel passaggio 4 nella cartella elencata in "Cartella macchina" (nella schermata sopra sarebbe C:\Users\myname\VirtualBox VMs).

  6. Seleziona la quantità di memoria che la tua macchina virtuale può utilizzare. Cerca di bilanciare la quantità perché troppo poca memoria comporterà che la macchina virtuale avrà prestazioni ridotte e una memoria eccessiva risulterà che il tuo sistema host (Windows) esaurirà la memoria che causerà la macchina virtuale e / o altri programmi che tu ' in esecuzione su Windows per bloccarsi. Su un computer con 4 GB di memoria disponibile, 2 GB erano una buona quantità. Non preoccuparti se selezioni una quantità errata, potrai cambiarla quando vuoi (tranne quando la macchina virtuale è in esecuzione).

  7. Nel passaggio Disco rigido, scegli "Usa un file disco rigido virtuale esistente" e fai clic sull'icona della piccola cartella a destra dell'elenco a discesa. Ciò aprirà una nuova finestra. In quella nuova finestra, fare clic sul pulsante "Aggiungi" in alto a sinistra, che aprirà una finestra di navigazione. Seleziona il file VMDK che hai scaricato ed estratto al passaggio 4, quindi fai clic su "Scegli".

    Quando hai finito, fai clic su "Crea".

  8. Seleziona la macchina virtuale nell'elenco a sinistra della finestra e fai clic sul pulsante Impostazioni nella barra degli strumenti. In Sistema -> Processore, seleziona 2 CPU; e in Rete -> Collegato a, selezionare Adattatore con ponte. Se ti accorgi in seguito di aver selezionato una quantità di memoria nel passaggio 6 che causa problemi, puoi modificarla in Sistema -> Scheda madre. Quando hai finito di modificare le impostazioni, fai clic su OK.

  9. Apri il prompt dei comandi ( C:\Windows\System32\cmd.exe). Esegui i seguenti comandi lì, sostituendo "Your VM Name"con quello che hai chiamato la tua macchina virtuale nel passaggio 5 (ad esempio "Mac") (mantieni le virgolette):

    cd "C:\Program Files\Oracle\VirtualBox\"
    VBoxManage.exe modifyvm "Your VM Name" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff
    VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3"
    VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
    VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"
    VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
    VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1
    VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" C02L280HFMR7
    
  10. Ora è tutto pronto per poter utilizzare la macchina virtuale. In VirtualBox, fai clic sul pulsante Start e segui le istruzioni di installazione per Mac. Dopo aver installato il Mac sulla macchina virtuale, puoi sviluppare la tua app iOS proprio come se avessi un vero Mac.

Nota: se si desidera risparmiare spazio sul disco rigido, è possibile comprimere il file VMDK che è stato estratto al passaggio 4 e utilizzato nel passaggio 7. Per fare ciò, fare clic con il tasto destro su di esso, selezionare Proprietà, fare clic su Avanzate ... pulsante in basso a destra e selezionare la casella di controllo "Comprimi contenuto per risparmiare spazio su disco". Questo farà sì che questo file molto grande occupi meno spazio su disco senza che nulla funzioni meno bene. L'ho fatto e ha ridotto la dimensione del disco del file VMDK da 50 GB a 40 GB senza perdere alcun dato.


1
Il Vm funziona bene. Ma è molto lento sulla mia macchina, che è una macchina da gioco.
Reuel Ribeiro

@ReuelRibeiro Potresti voler controllare la configurazione della tua macchina virtuale per assicurarti che sia ottimizzata per il tuo computer. Ecco un utile articolo sull'argomento: hanselman.com/blog/…
Technoguyfication

2
Al passaggio 9 ho dovuto aggiungere VBoxManage setextradata "Your VM Name" "VBoxInternal / Devices / efi / 0 / Config / DmiSystemSerial" W1234567980 per poter accedere utilizzando il mio ID Apple
ikleiman

1
Anche se potrebbe funzionare, l'ultima versione di xcode non è compatibile con IOS 10.11 (El Captain) che è attualmente su Google Drive. Hai una versione successiva di MacOS?
CularBytes

1
@RahulShah Puoi fare tutto ciò che potresti fare su un vero Mac.
Paperino

26

Aggiornamento dal 09/2017

È possibile sviluppare un'applicazione iOS (e Android allo stesso tempo) utilizzando React Native + Expo senza possedere un Mac. Sarai anche in grado di eseguire la tua applicazione iOS all'interno dell'app iOS Expo durante lo sviluppo. (Puoi anche pubblicarlo per consentire ad altre persone di accedervi, ma verrà eseguito solo all'interno dell'app Expo). Ecco una pagina di Expo su come generare app standalone.

Passaggi da quella pagina:

Uno : installa expeseguendonpm install -g exp

Due : configura app.json (da qualche parte lungo queste linee):

{
   "expo": {
    "name": "Your App Name",
    "icon": "./path/to/your/app-icon.png",
    "version": "1.0.0",
    "slug": "your-app-slug",
    "sdkVersion": "17.0.0",
    "ios": {
      "bundleIdentifier": "com.yourcompany.yourappname"
    },
    "android": {
      "package": "com.yourcompany.yourappname"
    }
   }
 }

Tre : avvia exppackeger conexp start

Quattro : corri exp build:androido exp build:ios.

Ti verrà richiesto un input. Per Android puoi scegliere 1) Let Expo handle the process!se non hai keystore (o se non sai cosa sia). Per iOS dovrai inserire le tue credenziali di sviluppatore Apple. Quindi puoi fornire il certificato di distribuzione o lasciare che sia expo a gestirlo.

Cinque : di tanto in tanto dovrai tornare indietro ed eseguire il exp build:statuscomando per verificare se la tua build era completa. Se completo, ti verrà fornito un collegamento diretto a .apko .ipafile.

L'unico svantaggio di questo approccio è che non sarà nativo come scrivere app iOS in Swift, e dovrai sopportare una serie di problemi che potresti incontrare durante lo sviluppo con js, npm e la sua dipendenza- problemi -su-versioni-particolari-di-altre-librerie e altre cose.


È possibile anche con altri framework, ad esempio Qt e JavaFXPort?
Daniel Ziltener,

@DanielZiltener Non conosco nessuno dei due, ma penso che la risposta sia no.
qualunque cosa il


13

Puoi utilizzare Phonegap (Cordova) per sviluppare app iOS senza un Mac, ma avrai comunque bisogno di un Mac per inviare la tua applicazione all'App Store. Abbiamo sviluppato un'applicazione cloud che può anche pubblicare la tua app senza un Mac https://www.wenz.io/ApplicationLoader . Attualmente siamo in beta e puoi utilizzare il servizio gratuitamente.

Cordiali saluti, Steffen Wenz

(Sono il creatore del sito)


1
Uso il caricatore di applicazioni di Wenz. Per questo ho creato uno speciale ID Apple con il solo permesso di caricamento. Poiché il tuo IPA deve essere firmato, è comunque sicuro anche se la tua password è trapelata.
user1219721

c'è comunque da generare un file IPA senza un mac da sottoporre ai propri servizi?
12 rombi in griglia senza curve il

11

L'aggiornamento di Intel XDK non è più disponibile.

Puoi utilizzare Intel XDK con cui puoi sviluppare e pubblicare un'app per iOS senza Mac.

Fare clic qui per i dettagli.


10
Intel XDK è scomparso ... RIP
Nowdeen

11

Risposta breve: teoricamente SI, ma questo deve essere un tuo MOLTO BUON amico, ma ancora una volta, potresti preferire acquistare un mac-mini usato

TLDR: Avrai bisogno di questo Mac per molto tempo, a seconda dei requisiti della tua app, delle tue capacità di sviluppo e della tua fortuna con Apple. Per esempio:

  1. Potrebbero essere necessari alcuni giorni per configurare Xcode e gli SDK e le librerie richiesti.
  2. Potrebbe volerci del tempo per ottenere quell'account sviluppatore, a volte puoi aspettare troppo anche per far esaminare la tua richiesta.
  3. Quando invii la tua domanda per la prima volta, dovrai aspettare un po 'di tempo, forse fino a diverse settimane o addirittura mesi, prima che la tua app venga rivista.
  4. Ogni volta che la tua app viene rifiutata, dovrai trovare e risolvere i tuoi problemi (senza molto aiuto da parte di Apple, altro che sottolineando la regola guida che hai infranto), quindi inviare nuovamente l'app per la revisione e attendere di nuovo.
  5. Ogni volta che provi ad applicare una patch per la tua app già distribuita, dovrai far esaminare la tua app e c'è la possibilità che la tua app in precedenza legittima, ora infranga una nuova linea guida, quindi invii nuovamente e attendi

Quindi, dalla mia esperienza, lo sviluppo di un'app iOS è una procedura molto lunga, senza nemmeno considerare i tempi effettivi di sviluppo del codice. Puoi prendere in prestito un Mac per così tanto tempo?


Sia tu che l'altro ragazzo avete chiarito molto per me, quindi ti ringrazio
Cescy

1
Prego. Per come la vedo io, un'app iOS per sviluppatori inesperti, è un tiro lungo e un grande impegno. Potresti iniziare con un'app Android che ti costerà $ 25 (licenza per sviluppatori a vita).
yannicuLar

4

Inoltre, se vuoi risparmiare, non devi comprare un Mac. Ci sono altri modi per farlo:

1.) Puoi utilizzare praticamente qualsiasi sistema operativo per eseguire l'ultimo MacOS nella macchina virtuale (guarda YouTube). Sto usando questo metodo da molto tempo senza problemi su Windows con VMWare.

2.) Hackintosh. Installa MacOS sul tuo PC. Devi avere componenti compatibili, ma se lo hai, questo è il modo migliore, perché elimini i ritardi nella VM ... Lo sto usando in questo momento. Perfetto. Sul mio laptop, ma per favore non dirlo ad Apple, perché praticamente è illegale

3.) Se stai realizzando app semplici con un'interfaccia utente minima, puoi utilizzare Theos . Inoltre con Theos puoi creare tweaks di Cydia. Un solo problema: il codice. Se vuoi pubblicare app su App Store devi comunque avere MacOS, ma se vuoi fare app in casa puoi usare CydiaImpactor per firmare le app con ID Apple.

Ho usato tutti questi modi e tutto funziona. Con la mia VM è la soluzione migliore se non vuoi perdere molto tempo installando Hackintosh.


2

Puoi utilizzare Smartface per sviluppare la tua app con javascript e distribuirla direttamente negli archivi senza un Mac. Quello che dicono è sotto.

Con il modulo Cloud Build, Smartface elimina tutti i fastidi della distribuzione dell'applicazione. Non devi preoccuparti di gestire i certificati di firma del codice e avere un Mac per firmare le tue app. Smartface Cloud può archiviare tutti i tuoi certificati iOS e keystore Android in un unico posto e la firma e la creazione sono completamente nel cloud. Indipendentemente dal sistema operativo utilizzato, è possibile ottenere file binari pronti per lo store (o per la distribuzione aziendale). Smartface ti libera dal blocco al Mac e ti consente di utilizzare il tuo sistema operativo preferito per lo sviluppo.

https://www.smartface.io/smartface/


2

La maggior parte dei framework come React Native e Ionic ti consente di costruire sul loro server. Significa che possono aiutarti a compilare e fornirti un file .ipa.

Il problema è che hai bisogno di Xcode o del caricatore di applicazioni per inviare la tua app ad Apple App Store Connect. Entrambi sono disponibili solo su OSX. Per superare questa soluzione hai 2 opzioni di cui sono a conoscenza

  1. Noleggia il Mac virtualmente. http://www.macincloud.com
  2. Usa il sito web che ti aiuta a caricare la tua app (devi avere un file .ipa). http://www.connectuploader.com

1

La mia esperienza è che Ionic Pro ( https://ionicframework.com/pro ) può fare la maggior parte del lavoro di sviluppo e pubblicazione ma hai ancora bisogno di Mac o Mac nel cloud in questi passaggi:

  • creare un file di certificazione .p12
  • carica il file .ipa nell'App Store

Dopo aver creato il file di certificazione, puoi caricarlo su Ionic Pro. Puoi creare file .ipa con le credenziali appropriate nel cloud. Ma sfortunatamente non ho trovato un altro modo per caricare il file .ipa su App Store, solo con Application Loader da Mac.

Quindi ho deciso di utilizzare un Mac pay-as-you-go in account cloud (paghi solo per i minuti in cui sei loggato) poiché il tempo che passo su Mac è molto limitato (pochi minuti per pubblicazione App).


-7

Piattaforma XAMARIN CROSS

Puoi usare Xamarin, è una piattaforma multipla con IDE Visual Studio e integrarci xamarin. È molto semplice codificare in xamarin e creare app ios usando il codice C #.


11
Sì, ma la compilazione richiede un Mac.
Maarten Peels
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.