Corrigez-moi si j'ai tort, s'il-vous plait.
Je suis novice en développement mobile et j'aimerais développer une application à soumettre à Apple Store.
Mais je suis fortement découragé par les prix des macs que je développe l'application à l'esprit.
Disons que je sais exactement ce que je veux et comment le coder.
Si je devais créer un compte de développeur et payer les frais - puis emprunter mes amis mac, écrire le code et soumettre mon code à Apple. Est-ce tout ce dont j'ai besoin du mac? Et puis, je pourrai accéder à toutes les statistiques, etc., via iTunes sur mon ordinateur Windows?
Quelqu'un peut-il me dire s'il vous plaît que je suis délirant?
Laissez-moi vous dire petit à petit il y a quelques années que j'étais dans la même situation.
Nous avons donc deux phases
1. Développement d'applications iPhone/iPad (iOS)
Donc, si vous voulez juste développer des applications iOS, vous ne voulez rien payer,
Vous avez juste besoin de Mac + XCode IDE
Vous venez d’installer Xcode et de commencer à développer des applications iOS et à tester/déboguer avec Simulator.
2. Développement d'applications iPhone/iPad (iOS) et publication sur iTunes Store
pour publier votre application sur iTunes store, vous devez payer (par exemple 99 $/an).
Donc, pour la configuration complète du développement iOS dont vous avez besoin
Il est possible de développer une application iOS (et Android en même temps) à l’aide de React Native + Expo sans posséder de Mac. Vous pourrez également exécuter votre application iOS dans l'application iOS Expo tout en la développant. (Vous pouvez même le publier pour que d'autres personnes puissent y accéder, mais cela ne fonctionnera que dans l'application Expo). Voici la page de Expo sur la façon de générer une application autonome.
One: Installez exp
en exécutant npm install -g exp
Two: Configurez app.json (quelque part dans cet ordre d'idées):
{
"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"
}
}
}
Three: Démarrer le paquet exp
avec exp start
Four: lancez exp build:Android
ou exp build:ios
.
Vous serez invité à entrer quelque chose. Pour Android, vous pouvez choisir 1) Let Expo handle the process!
si vous n'avez pas de magasin de clés (ou si vous ne savez pas ce que c'est). Pour iOS, vous devrez entrer vos informations d'identification de développeur Apple. Ensuite, vous pouvez fournir un certificat de distribution ou laisser expo le gérer.
Five: De temps en temps, vous devrez revenir et exécuter la commande exp build:status
pour vérifier si votre construction est complète. Si vous avez terminé, un lien direct vers le fichier .apk
ou .ipa
vous sera fourni.
Le seul inconvénient de cette approche est qu’elle ne sera pas aussi native que l’application iOS écrite dans Swift et que vous devrez supporter une série de problèmes que vous pourriez rencontrer lors du développement avec js, npm, et faiblement typés. dépendance-sur-version-particulière-de-une-autre-bibliothèque problèmes, et d'autres choses.
Sous Windows, vous pouvez utiliser Mac sur une machine virtuelle (cela fonctionne probablement aussi sous Linux mais je n'ai pas encore testé). Une machine virtuelle est essentiellement un programme que vous exécutez sur votre ordinateur et qui vous permet d'exécuter un système d'exploitation dans une fenêtre située à l'intérieur d'un autre. Assurez-vous d’avoir au moins 60 Go d’espace libre sur votre disque dur. Le disque dur virtuel que vous allez télécharger occupe initialement 10 Go, mais une fois que vous avez installé tous les programmes nécessaires au développement d'applications iOS, sa taille peut facilement atteindre 50 Go (je vous recommande de laisser une marge de quelques Go au cas où).
Voici quelques étapes détaillées pour installer une machine virtuelle Mac sous Windows:
Installez VirtualBox .
Vous devez activer la virtualisation dans le BIOS. Pour ouvrir le BIOS sous Windows 10, vous devez commencer par maintenir la touche enfoncée. Shift en appuyant sur le bouton Redémarrer dans le menu de démarrage. Ensuite, vous obtiendrez un écran bleu avec quelques options. Choisissez "Dépanner", puis "Options avancées", puis "Paramètres du micrologiciel UEFI", puis "Redémarrer". Ensuite, votre ordinateur va redémarrer et ouvrir le BIOS directement. Sur les anciennes versions de Windows, éteignez l’ordinateur normalement, maintenez la touche enfoncée. F2 touche en bas, redémarrez votre ordinateur et ne libérez pas F2 jusqu'à ce que vous soyez dans le BIOS. Sur certains ordinateurs, vous devrez peut-être appuyer sur une autre touche que F2.
Maintenant que vous êtes dans le BIOS, vous devez activer la virtualisation. Le paramètre que vous êtes censé changer dépend de l'ordinateur que vous utilisez. Cela peut varier même entre deux ordinateurs dotés de la même version de Windows. Sur mon ordinateur, vous devez définir Intel Virtual Technology
dans l'onglet Configuration
sur Enabled
. Sur d'autres ordinateurs, il peut s'agir par exemple de Security -> Virtualization
ou de Advanced -> CPU Setup
. Si vous ne trouvez aucune de ces options, recherchez Google enable virtualization (the kind of computer you have)
dans Google. Ne changez rien au hasard dans le BIOS, car cela pourrait causer des problèmes sur votre ordinateur. Lorsque vous avez activé la virtualisation, enregistrez les modifications et quittez le BIOS. Cela se fait généralement dans l'onglet Exit
.
Download this file (Je n'ai aucun lien avec la personne qui a téléchargé ce fichier, mais je l'ai téléchargé et je l'ai utilisé moi-même, donc je suis sûr qu'il n'y a pas de virus). Si le lien est brisé, postez un commentaire pour me le faire savoir et je vais essayer de télécharger le fichier ailleurs. Ce fichier RAR contient un fichier VMDK qui servira de disque dur pour la machine virtuelle Mac. Extrayez ce fichier VMDK. Si l’espace disque vous pose problème, vous pouvez supprimer le fichier RAR une fois que vous avez extrait le fichier VMDK et économiser ainsi 7 Go.
Ouvrez VirtualBox que vous avez installé à l'étape 1. Dans la barre d'outils, appuyez sur le bouton Nouveau. Ensuite, choisissez un nom pour votre machine virtuelle (le nom est sans importance, je l'ai appelé "Mac"). Dans "Type", sélectionnez "Mac OS X" et dans "Version", sélectionnez "Mac OS X 10.11 El Capitan (64 bits)".
Sélectionnez la quantité de mémoire que votre machine virtuelle peut utiliser. Essayez d’équilibrer cette quantité, car trop peu de mémoire entraînera de faibles performances de la machine virtuelle et trop de mémoire, ce qui entraînera une insuffisance de mémoire du système hôte (Windows), ce qui entraînera pour la machine virtuelle et/ou d’autres programmes que vous utilisez. re en cours d'exécution sur Windows pour se bloquer. Sur un ordinateur avec 4 Go de mémoire disponible, 2 Go était une bonne quantité. Ne vous inquiétez pas si vous sélectionnez une mauvaise quantité, vous pourrez le modifier à tout moment (sauf lorsque la machine virtuelle est en cours d'exécution).
Dans l'étape Disque dur, choisissez "Utiliser un fichier de disque dur virtuel existant" et cliquez sur la petite icône de dossier située à droite de la liste déroulante. Cela ouvrira une fenêtre de navigation. Sélectionnez le fichier VMDK que vous avez téléchargé et extrait à l'étape 4.
Lorsque vous avez terminé, cliquez sur "Créer".
Sélectionnez la machine virtuelle dans la liste située à gauche de la fenêtre et cliquez sur le bouton Paramètres dans la barre d'outils. Dans Système -> Processeur, sélectionnez 2 CPU. Si vous réalisez plus tard que vous avez sélectionné une quantité de mémoire à l’étape 6 qui pose des problèmes, vous pouvez la modifier dans Système -> Carte mère. Lorsque vous avez terminé de modifier les paramètres, cliquez sur OK.
Ouvrez la commande Invite (C:\Windows\System32\cmd.exe
). Exécutez les commandes suivantes, en remplaçant "Your VM Name"
par ce que vous avez appelé votre machine virtuelle à l'étape 5 (par exemple "Mac"
) (conservez les guillemets):
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
Maintenant, tout est prêt pour que vous puissiez utiliser la machine virtuelle. Dans VirtualBox, cliquez sur le bouton Démarrer et suivez les instructions d'installation pour Mac. Une fois que vous avez installé Mac sur la machine virtuelle, vous pouvez développer votre application iOS comme si vous aviez un vrai Mac.
Remarque: Si vous souhaitez économiser de l'espace sur votre disque dur, vous pouvez compresser le fichier VMDK que vous avez extrait à l'étape 4 et utilisé à l'étape 7. Pour ce faire, cliquez dessus avec le bouton droit de la souris, sélectionnez Propriétés, cliquez sur le bouton Avancé ... en bas à droite et cochez la case "Compresser le contenu pour économiser de l'espace disque". Cela fera que ce très gros fichier prend moins d’espace disque sans que rien ne fonctionne moins bien. Je l'ai fait et cela a réduit la taille du disque du fichier VMDK de 50 Go à 40 Go sans perte de données.
Certaines solutions en nuage existent, telles que macincloud (non gratuit)
Vous pouvez utiliser Phonegap (Cordova) pour développer des applications iOS sans Mac, mais vous aurez toujours besoin d'un Mac pour soumettre votre application à l'App Store. Nous avons développé une application cloud qui peut également publier votre application sans Mac https://www.wenz.io/ApplicationLoader . Nous sommes actuellement en version bêta et vous pouvez utiliser le service gratuitement.
Cordialement, Steffen Wenz
(Je suis le créateur du site)
UpdateIntel XDK n'est plus disponible.
Vous pouvez utiliser Intel XDK pour développer et publier une application pour iOS sans le Mac.
Cliquez ici pour plus de détails.
Réponse courte: théoriquement oui, mais cela doit être un très bon ami, mais encore une fois, vous préférerez peut-être acheter un mac-mini usagé.
Réponse longue: vous aurez besoin de ce Mac très longtemps, en fonction des besoins de votre application, de vos compétences en développement et de votre chance avec Apple. par exemple:
Donc, d'après mon expérience, le développement d'une application iOS est une procédure très longue, sans même tenir compte du temps de développement du code. Pouvez-vous emprunter un Mac aussi longtemps?
Vous pouvez utiliser Smartface pour développer votre application avec javascript et le déployer directement dans des magasins sans Mac. Ce qu'ils disent est ci-dessous.
Avec le module Cloud Build, Smartface élimine tous les problèmes liés au déploiement d’applications. Vous n'avez pas à vous soucier de la gestion des certificats de signature de code et de la création d'un Mac pour signer vos applications. Smartface Cloud peut stocker tous vos certificats iOS et magasins de clés Android en un seul endroit. La signature et la création se font entièrement dans le cloud. Quel que soit le système d'exploitation utilisé, vous pouvez obtenir des fichiers binaires prêts pour le stockage (ou la distribution d'entreprise). Smartface vous libère du verrouillage sur Mac et vous permet d'utiliser votre système d'exploitation préféré pour le développement.
Aussi, si vous voulez économiser de l'argent, vous ne devez pas acheter un Mac. Il y a d'autres façons de le faire:
1.) Vous pouvez utiliser pratiquement n'importe quel système d'exploitation pour exécuter la dernière version de MacOS sur une machine virtuelle (consultez YouTube). J'utilise cette méthode très longtemps sans aucun problème sur Windows avec VMWare.
2.) Hackintosh. Installez MacOS sur votre PC. Vous devez avoir des composants compatibles, mais si vous en avez, c'est la meilleure façon, car vous éliminez les retards dans la VM ... Je l'utilise en ce moment. Parfait. Sur mon ordinateur portable, mais s'il vous plaît, ne le dites pas à Apple, car c'est pratiquement illégal.
3.) Si vous créez des applications simples avec une interface utilisateur minimale, vous pouvez utiliser Theos . Également avec Theos, vous pouvez créer des réglages de cydia. Un seul problème: codesign. Si vous souhaitez publier une application sur l'App Store, vous devez toujours disposer de MacOS, mais si vous souhaitez créer une application chez vous, vous pouvez utiliser CydiaImpactor pour signer les applications avec un identifiant Apple.
J'ai utilisé tous ces moyens et tout fonctionne. Par mon VM est la meilleure solution si vous ne voulez pas passer beaucoup de temps à installer Hackintosh.
D'après mon expérience, Ionic Pro ( https://ionicframework.com/pro ) peut tirer le meilleur parti du travail de développement et de publication, mais vous avez toujours besoin d'un Mac ou d'un nuage dans le cloud à ces étapes:
Après avoir créé votre fichier de certification, vous pouvez le télécharger sur Ionic Pro. Vous pouvez créer des fichiers .ipa avec les informations d'identification appropriées dans le cloud. Mais malheureusement, je n'ai pas trouvé d'autre moyen de télécharger le fichier .ipa sur l'App Store, uniquement avec Application Loader à partir de Mac.
J'ai donc décidé d'utiliser un compte Mac avec paiement par répartition (vous ne payez que pour les minutes que vous avez connectées) car le temps que je passe sur Mac est très limité (quelques minutes par publication de l'application).
La plupart des frameworks comme React Native et Ionic vous permettent de construire sur leur serveur. Cela signifie qu'ils peuvent vous aider à compiler et vous fournir un fichier .ipa.
Le problème est que vous avez besoin du chargeur Xcode ou Application pour soumettre votre application à Apple App Store Connect. Les deux ne sont disponibles que sur OSX. Pour surmonter cette solution, vous avez 2 options que je connais