Créer une application iOS sans posséder de Mac? [fermé]

97

Corrigez-moi si j'ai tort, s'il-vous plait.

Je suis nouveau dans le développement mobile et je souhaite développer une application à soumettre à l'Apple Store.

Mais je suis fortement découragé par les prix des macs pour lesquels je développe l'application.

Disons que je sais exactement ce que je veux et comment le coder.

Si je devais créer un compte développeur et payer les frais, empruntez le mac de mes amis, écrivez le code et soumettez 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 que je suis délirant?

Cescy
la source
2
cela pourrait être réalisé de la manière dont vous parlez, mais pensez à ce sujet que si votre application a besoin d'une mise à jour ou d'un bug mineur ou de modifications, alors? chaque fois que vous demanderez une faveur à votre ami?
D-eptdeveloper
5
Vous avez besoin d'un Mac pour un développement iOS sérieux. Période. Et ils ne sont pas si chers après tout. Et n'oubliez pas une poignée d'appareils iOS sur lesquels tester - les applications qui n'ont pas été testées sur le matériel disponible présentent généralement des lacunes.
Eiko du
1
La partie délirante commence par "Je sais comment le coder" ... si vous codez vous-même (c.-à-d. Aucun contrat de travail par d'autres), vous aurez besoin de beaucoup de tests et de débogage. Pensez à quelques semaines pour lancer un projet qui vaut la peine d'être montré à quelqu'un. Le polir et le rendre «digne de l’atelier» sera un travail difficile. Je ne peux vraiment penser aux applications les plus inutiles (c'est-à-dire aux "wrappers de sites Web") qui sont construites en une journée sur un Mac si vous êtes déjà un développeur iOS expérimenté.
Eiko le
Il est possible de créer une chaîne d'outils iOS basée sur GCC sous Linux. Xcode n'est pas un compilateur - il est uniquement nécessaire pour générer les certificats pour soumettre votre application à l'AppStore.
The Paramagnetic Croissant
2
Vous pouvez rechercher Hackintosh, qui permet d'exécuter Mac OS sur des processeurs Intel, mais c'est illégal je pense.
Borzh

Réponses:

32

Laissez-moi vous dire étape par étape il y a quelques années, 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 souhaitez simplement développer des applications iOS, vous ne voulez rien payer,

Vous avez juste besoin de Mac + XCode IDE

  1. Obtenez Mac Mini ou Mac Machine
  2. Créer un compte développeur sur Apple c'est gratuit
  3. Après la connexion au compte développeur, vous pouvez télécharger le fichier .dmg de Xcode IDE
  4. C'est tout.

Il vous suffit maintenant d'installer Xcode et de commencer à développer des applications iOS et de 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 une configuration complète du développement iOS, vous avez besoin

  1. Obtenez Mac Mini ou Mac Machine
  2. Créer un compte développeur sur Apple c'est gratuit
  3. Après la connexion au compte développeur, 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 de développement / distribution sur votre compte Apple
  6. téléchargez tous les certificats sur la machine mac et installez-les dans XCode à l'aide de 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 un appareil réel et également publier sur iTunes Store
swiftBoy
la source
Vérifiez cette configuration iOS pour Xamarin developer.xamarin.com/guides/cross-platform/getting_started/…
Jaider
Mais la question dit spécifiquement "sans posséder de mac?"…
PF4Public
28

Sous Windows, vous pouvez utiliser Mac sur une machine virtuelle (cela fonctionne probablement aussi sous Linux mais je n'ai pas testé). Une machine virtuelle est essentiellement un programme que vous exécutez sur votre ordinateur qui vous permet d'exécuter un système d'exploitation dans une fenêtre à l'intérieur d'un autre. Assurez-vous que vous disposez d'au moins 60 Go d'espace libre sur votre disque dur. Le disque dur virtuel que vous allez télécharger occupe au départ 10 Go, mais lorsque vous avez installé tous les programmes nécessaires pour développer des applications iOS, sa taille peut facilement augmenter jusqu'à 50 Go (je 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 Shifttouche enfoncée tout en appuyant sur le bouton Redémarrer dans le menu Démarrer. 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 redémarrera et ouvrira directement le BIOS. Sur les anciennes versions de Windows, arrêtez normalement l'ordinateur, maintenez la F2touche enfoncée, redémarrez votre ordinateur et ne relâchez pas F2tant que vous n'êtes pas dans le BIOS. Sur certains ordinateurs, vous devrez peut-être maintenir une autre touche enfoncée F2.

  3. Maintenant que vous êtes dans le BIOS, vous devez activer la virtualisation. Le paramètre que vous êtes censé modifier dépend de l'ordinateur que vous utilisez. Cela peut varier même entre deux ordinateurs avec la même version de Windows. Sur mon ordinateur, vous devez définir Intel Virtual TechnologyleConfiguration onglet sur Enabled. Sur d'autres ordinateurs, il peut être par exemple Security -> Virtualizationou en format Advanced -> CPU Setup. Si vous ne trouvez aucune de ces options, recherchez sur Google . Ne changez rien dans le BIOS comme ça au hasard, sinon 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.enable virtualization (the kind of computer you have)Exit

  4. Téléchargez ce fichier (je n'ai aucun lien avec la personne qui l'a téléchargé, mais je l'ai utilisé moi-même donc je suis sûr qu'il n'y a pas de virus). Si le lien est cassé, postez un commentaire pour me le faire savoir et j'essaierai de télécharger le fichier ailleurs. Le mot de passe pour ouvrir le fichier 7Z est stackoverflow.com. Ce fichier 7Z contient un fichier VMDK qui servira de disque dur pour la machine virtuelle Mac. Extrayez ce fichier VMDK. Si l'espace disque est un problème pour vous, une fois que vous avez extrait le fichier VMDK, vous pouvez supprimer le fichier 7Z et ainsi économiser 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 n'a pas d'importance, je l'ai appelé "Mac"). Dans "Type", sélectionnez "Mac OS X" et dans "Version" sélectionnez "macOS 10.13 High Sierra (64 bits)" (la version Mac que vous installerez sur la machine virtuelle est en fait Catalina, mais VirtualBox n'a pas cette option encore et cela fonctionne très bien si VirtualBox pense que c'est High Sierra).

    C'est également une bonne idée (mais pas obligatoire) de déplacer le fichier VMDK que vous avez extrait à l'étape 4 vers le dossier répertorié sous «Dossier machine» (dans la capture d'écran ci-dessus, ce serait C:\Users\myname\VirtualBox VMs ).

  6. Sélectionnez la quantité de mémoire que votre machine virtuelle peut utiliser. Essayez d'équilibrer la quantité car trop peu de mémoire entraînera des performances médiocres de la machine virtuelle et une trop grande quantité de mémoire entraînera une insuffisance de mémoire de votre système hôte (Windows), ce qui entraînera la machine virtuelle et / ou d'autres programmes que vous re en cours d'exécution sur Windows pour planter. 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 un mauvais montant, vous pourrez le changer quand vous le souhaitez (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 à droite de la liste déroulante. Cela ouvrira une nouvelle fenêtre. Dans cette nouvelle fenêtre, cliquez sur le bouton "Ajouter" en haut à gauche, qui ouvrira une fenêtre de navigation. Sélectionnez le fichier VMDK que vous avez téléchargé et extrait à l'étape 4, puis cliquez sur «Choisir».

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

  8. Sélectionnez la machine virtuelle dans la liste à gauche de la fenêtre et cliquez sur le bouton Paramètres dans la barre d'outils. Dans Système -> Processeur, sélectionnez 2 processeurs; et dans Réseau -> Attaché à, sélectionnez Adaptateur ponté. 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 l'invite de commande ( 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
    VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" C02L280HFMR7
  10. Maintenant, tout est prêt pour que vous utilisiez 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, faites un clic droit dessus, sélectionnez Propriétés, cliquez sur Avancé ... en bas à droite et cochez la case "Compresser le contenu pour économiser de l'espace disque". Cela permettra à ce très gros fichier de prendre 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 perdre de données.

Donald Duck
la source
1
Le Vm fonctionne très bien. Mais c'est très lent sur ma machine, qui est une machine de jeu.
Reuel Ribeiro
@ReuelRibeiro Vous voudrez peut-être vérifier la configuration de votre machine virtuelle pour vous assurer qu'elle est optimisée pour votre ordinateur. Voici un article utile sur le sujet: hanselman.com/blog/…
Technoguyfication
2
À l'étape 9, j'ai dû ajouter VBoxManage setextradata "Votre nom de VM" "VBoxInternal / Devices / efi / 0 / Config / DmiSystemSerial" W1234567980 afin de pouvoir me connecter en utilisant mon identifiant Apple
ikleiman
1
Bien que cela puisse fonctionner, la dernière version de xcode n'est pas compatible avec IOS 10.11 (El Captain) actuellement sur Google Drive. Avez-vous une version ultérieure de MacOS?
CularBytes
1
@RahulShah Vous pouvez faire tout ce que vous pouvez faire sur un vrai Mac.
Donald Duck
26

Mise à jour du 09/2017

Il est possible de développer une application iOS (et Android en même temps) en utilisant 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 il ne fonctionnera que dans l'application Expo). Voici la page d'Expo sur la façon de générer une application autonome.

Étapes à partir de cette page:

Un : installer expen exécutantnpm install -g exp

Deux : Configurez app.json (quelque part le long de ces lignes):

{
   "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"
    }
   }
 }

Trois : Démarrez exppackeger avecexp start

Quatre : courir exp build:androidou exp build:ios.

Vous serez invité à entrer. Pour Android, vous pouvez choisir 1) Let Expo handle the process!si vous n'avez pas de keystore (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.

Cinq : De temps en temps, vous devrez revenir et exécuter la exp build:statuscommande pour vérifier si votre construction était terminée. Si complet, vous recevrez un lien direct vers .apkou.ipa fichier.

Le seul inconvénient de cette approche est qu'elle ne sera pas aussi native que l'écriture d'une application iOS dans Swift, et vous devrez faire face à une parade de problèmes que vous pourriez rencontrer lors du développement avec js, npm faiblement typés et sa dépendance- sur-version-particulière-de-certains-autres- problèmes de bibliothèque , et d'autres choses.

peu importe
la source
Est-ce également possible avec d'autres frameworks, par exemple Qt et JavaFXPorts?
Daniel Ziltener
@DanielZiltener Je ne connais ni l'un ni l'autre, mais je pense que la réponse est non.
wha7ever
13

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 . Actuellement, nous sommes en version bêta et vous pouvez utiliser le service gratuitement.

Meilleures salutations, Steffen Wenz

(Je suis le créateur du site)

Steffen Wenz
la source
1
J'utilise le chargeur d'application de Wenz. Pour cela, j'ai créé un identifiant Apple spécial avec uniquement l'autorisation de téléchargement. Étant donné que votre IPA doit être signé, il est toujours sécurisé même si votre mot de passe est divulgué.
user1219721
existe-t-il de toute façon pour générer un fichier IPA sans mac à soumettre à vos services?
12 losanges dans la grille sans coins le
11

La mise à jour Intel XDK n'est plus disponible.

Vous pouvez utiliser Intel XDK avec lequel vous pouvez développer et publier une application pour iOS sans le mac.

Cliquez ici pour plus de détails.

Hemant Singh Rathore
la source
10
Intel XDK est décédé ... RIP
Nowdeen
11

Réponse courte: théoriquement OUI, mais cela doit être un TRÈS BON ami à vous, mais encore une fois, vous préférerez peut-être acheter un mac-mini d'occasion

TLDR: Vous aurez besoin de ce Mac pendant très longtemps, en fonction des exigences 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 de développeur peut prendre un certain temps, parfois vous pouvez attendre trop longtemps pour que votre demande soit examinée.
  3. Lorsque vous soumettez votre candidature pour la première fois, vous devrez attendre un certain temps, peut-être plusieurs semaines, voire des mois, pour que votre application soit examinée.
  4. Chaque fois que votre application est rejetée, vous devrez trouver et résoudre vos problèmes (sans beaucoup d'aide d'Apple, autre que celle indiquant la règle que vous avez enfreinte), puis soumettre à nouveau votre application pour examen et attendre à nouveau.
  5. Chaque fois que vous essayez d'appliquer un correctif pour votre application déjà déployée, vous devrez faire examiner votre application et il est possible que votre application précédemment légitime enfreigne maintenant une nouvelle directive, vous soumettez à nouveau et attendez

Ainsi, 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 réel de développement du code. Pouvez-vous emprunter un Mac aussi longtemps?

yannicuLar
la source
Vous et l'autre gars avez beaucoup clarifié pour moi alors je vous remercie
Cescy
1
De rien. La façon dont je le vois, une application iOS pour un développeur inexpérimenté, est un long plan et un grand engagement. Vous pouvez commencer par une application Android qui vous coûtera 25 $ (licence de développement à vie).
yannicuLar
4

De plus, si vous souhaitez économiser de l'argent, vous n'avez pas besoin d'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 le dernier MacOS sur une machine virtuelle (regardez YouTube). J'utilise cette méthode depuis 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 le meilleur moyen, car vous éliminez les retards dans VM ... J'utilise cela 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 . Aussi avec Theos, vous pouvez créer des ajustements de cydia. Un seul problème: la conception de codes. Si vous souhaitez publier une application sur l'App Store, vous devez toujours avoir MacOS, mais si vous souhaitez créer une application à la maison, vous pouvez utiliser CydiaImpactor pour signer les applications avec un identifiant Apple.

J'ai utilisé toutes ces méthodes et tout fonctionne. Par ma VM est la meilleure solution si vous ne voulez pas passer beaucoup de temps à installer Hackintosh.

Samuel Tulach
la source
2

Vous pouvez utiliser Smartface pour développer votre application avec javascript et la déployer directement dans les magasins sans Mac. Ce qu'ils disent est ci-dessous.

Avec le module Cloud Build, Smartface supprime tous les tracas du déploiement d'applications. Vous n'avez pas à vous soucier de la gestion des certificats de signature de code et du fait d'avoir un Mac pour signer vos applications. Smartface Cloud peut stocker tous vos certificats iOS et fichiers de clés Android en un seul endroit et la signature et la création se font entièrement dans le cloud. Quel que soit le système d'exploitation que vous utilisez, vous pouvez obtenir des binaires prêts pour le stockage (ou 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/

Tempeck
la source
2

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 de Xcode ou du chargeur d'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 dont je suis conscient

  1. Louez virtuellement mac. http://www.macincloud.com
  2. Utilisez un site Web qui vous aide à télécharger votre application (vous devez avoir un fichier .ipa). http://www.connectuploader.com
Valehelle
la source
1

Mon expérience est que 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 Mac dans le cloud à ces étapes:

  • créer un fichier de certification .p12
  • télécharger le fichier .ipa sur 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 de Mac.

J'ai donc décidé d'utiliser un compte Mac pay-as-you-go dans le cloud (vous ne payez que pour les minutes que vous êtes connecté) car le temps que je passe sur Mac est très limité (quelques minutes par publication d'application).

gaborp
la source
-7

Plateforme XAMARIN CROSS

Vous pouvez utiliser Xamarin, c'est une plateforme multiplateforme avec IDE Visual Studio et y intégrer xamarin. Il est très simple de coder dans xamarin et de créer vos applications iOS en utilisant du code C #.

Abhishek Pathak
la source
11
Oui, mais la compilation nécessite un mac.
Maarten Peels