web-dev-qa-db-fra.com

Construire une application iOS sans posséder un Mac?

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?

69
Cescy

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)
  2. développement d'applications iPhone/iPad (iOS) et publication sur iTunes Store

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

  1. Obtenir Mac Mini ou Mac Machine 
  2. Créer un compte développeur sur Apple gratuitement
  3. Une fois le compte développeur connecté, vous pouvez télécharger le fichier .dmg de Xcode IDE.
  4. C'est tout.

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 

  1. Obtenir Mac Mini ou Mac Machine
  2. Créer un compte développeur sur Apple gratuitement
  3. Une fois le compte développeur connecté, vous pouvez télécharger le fichier .dmg de Xcode IDE.
  4. payer 99 $ pour publier des applications sur iTunes
  5. créez vos certificats pour le développement/la distribution sur votre compte Apple
  6. téléchargez tous les certificats sur la machine mac et installez-les dans Xcode avec l'outil Keychain
  7. Obtenez au moins un appareil iOS 
  8. Enregistrez votre appareil sur votre compte Apple
  9. Vous pouvez maintenant développer une application iOS, tester sur Real Device et également publier sur iTunes Store. 
29
swiftBoy

Mise à jour à partir de 09/2017

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. 

Étapes de cette page:

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. 

21
Alex L

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:

  1. Installez VirtualBox .

  2. 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.

  3. 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.

  4. 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.

  5. 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)".

  6. 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).

  7. 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.

    enter image description here

    Lorsque vous avez terminé, cliquez sur "Créer".

  8. 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.

  9. 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
    
  10. 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.

18
Donald Duck

Certaines solutions en nuage existent, telles que macincloud (non gratuit)

17
Laurent

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)

11
Steffen Wenz

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.

11
Hemant Singh Rathore

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:

  1. Vous aurez peut-être besoin de quelques jours pour configurer Xcode et les SDK et bibliothèques requis.
  2. L'obtention de ce compte développeur peut prendre un certain temps. Parfois, vous pouvez même attendre trop longtemps pour que votre demande soit examinée.
  3. Lorsque vous soumettez votre demande pour la première fois, vous devrez peut-être attendre plusieurs semaines, voire plusieurs mois, pour que votre application soit révisée. 
  4. Chaque fois que votre application est rejetée, vous devez rechercher et résoudre vos problèmes (sans l'aide de Apple, autre que celle soulignant la règle de référence que vous avez enfreinte), puis réappliquez votre application pour révision et attendez à nouveau.
  5. Chaque fois que vous essayez d'appliquer un correctif pour votre application déjà déployée, vous devrez faire réviser votre application et il y a une chance que votre application, qui était auparavant légitime, rompt maintenant avec une nouvelle directive, vous permettant donc de réappliquer et d'attendre.

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?

8
yannicuLar

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.

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

2
Tempeck

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.

2
Samuel Tulach

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:

  • créer un fichier de certification .p12
  • télécharger le fichier .ipa dans l'App Store

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).

0
gaborp

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

  1. Louer mac virtuellement. http://www.macincloud.com
  2. Utilisez un site Web qui vous aide à télécharger votre application (vous devez disposer d'un fichier .ipa). http://www.connectuploader.com
0
Valehelle