Créer une app iPhone sous Windows ?
Xcode est l'outil officiel d'Apple pour créer des apps iPhone. Il est gratuit mais nécessite d'avoir macOS d'installé pour être utilisable. Peut-on créer une app pour iPhone sans ce logiciel ? Oui ... à 99%
Je suis personnellement un utilisateur de mac et j'adore cet univers dans lequel je suis productif et à l'aise. Mais plusieurs de mes étudiants ne partagent pas cet avis ou n'ont pas encore rassemblé les pièces d'or nécessaires pour s'acheter leur premier mac (oui oui, beaucoup sont des gamers et ils me parlent de pièces d'or, PO, gold, etc.).
Je pourrais débatre pendant des heures sur le choix mac/PC, mais aujourd'hui j'ai décidé d'aider ceux qui n'ont pas de mac à créer leurs apps iPhone quand même. 👨💻
Créer une app et la déployer sur l'AppStore sont 2 choses différentes
Pour créer une app qui soit acceptée par Apple sur l'AppStore, vous devez utiliser les outils officiels, à savoir Xcode. A ma connaissance il n'existe pas de contournement à cette étape. 🙃
Cependant, vous pouvez très bien créer votre app entièrement sur un PC Windows et l'affiner pendant plusieurs semaines jusqu'à ce qu'elle soit parfaite, sans jamais installer macOS.
Puis, venue l'heure de l'envoi sur l'AppStore, il vous faudra trouver un mac pour quelques heures seulement ; et là encore il existe des solutions plutôt pratiques.
Voyons en détails ces 2 étapes.
Comment créer une app iPhone sous Windows ? (sans Xcode)
Dans mes précédents articles (Bye Android, Bonjour Android), je vous ai parlé de technologies multiplateformes permettant de créer des apps iPhone et Android simultanément. Il en existe plusieurs et elles sont plus ou moins efficaces : Flutter, React Native, Xamarin, Cordova, etc.
Personnellement j'ai choisi d'utiliser Flutter que je trouve simple à utiliser et à enseigner.
Tous ces outils sont disponibles sous Windows, donc vous pouvez passer plusieurs semaines à créer votre app sans jamais utiliser de mac, ni installer Xcode. 🤟
Comment tester votre app iPhone sous Windows ?
Vous ne pourrez pas créer d'apps iPhone sous Windows, mais vous pourrez créer la version Android de votre app. Et les outils officiels Android sont disponibles sous Windows (Android Studio, Emulateurs, etc.) 👌.
En utilisant un kit comme Flutter, la version Android de l'app est la même que la verson iPhone . Vous pouvez donc faire tout votre développement en ne testant que la version Android. 🤖
Optionnel : procurez-vous un mac pour vos tests
Si vous en avez la possibilité, empruntez ou louez un mac pour quelques heures à la fin de votre projet pour vérifier que votre app fonctionne parfaitement sur les outils officiels (Xcode et simulateur iPhone).
Idéalement il faudrait aussi tester l'app sur de vrais iPhones ou iPads.
Normalement les outils comme Flutter insistent sur le bon fonctionnement de leur solution, mais je vous recommande tout de même cette étape. S'il y a vraiment un problème sur la version iPhone de votre app, mieux vaut le savoir avant qu'elle soit sur l'AppStore.
Envoyer votre app iPhone sur l'AppStore depuis Windows
Cette dernière étape requiert d'avoir Xcode d'installé et donc macOS. Comptez quelques heures pour tout installer et mettre en ligne votre app.
Voici les solutions les plus évidentes que vous pouvez utiliser :
- Emprunter le mac d'une connaissance 😊, c'est la solution la plus simple mais elle n'est pas toujours faisable
- Créer un Hackintosh ou une machine virtuelle macOS, solution complexe mais peu couteuse 🤓
- Louer un mac en ligne, il existe des offres à partir de 1$ de l'heure ou 20$ par mois chez plusieurs fournisseurs (MacInCloud, RentYourMac, etc.) 💰
Il existe des solutions un peu plus complexes basées sur des services de compilation en ligne (Github Actions, Azure Pipelines, Bitrise, etc.). J'ai prévu de les tester et si c'est intéressant alors je vous en parlerai plus en détails.
Conclusion : est-ce possible ?
Posséder son propre mac reste la meilleure solution pour créer des apps iPhone, mais si c'est impossible alors voici un excellent compromis :
Passez la majorité du temps à créer une app Android avec Flutter (ou équivalent), et trouvez un mac pour quelques heures à la fin de votre projet.
J'avais commencé en vous disant que c'est possible à 99%, maintenant vous savez comment vous y prendre.
Alors, qu'en pensez-vous ?
Happy coding!
Maxime