ios - Comment puis-je développer pour iPhone en utilisant une machine de développement Windows?


Est-il possible de bricoler avec le SDK iPhone sur une machine Windows? Y a-t-il des plans pour une version du SDK iPhone pour Windows?

La seule autre façon que je peux envisager de faire est d'exécuter une image de machine virtuelle sur un serveur VMWare fonctionnant sous Windows, même si je ne suis pas sûr de la légalité de cela.



Answers



Il est certainement possible de développer sur une machine Windows, en effet ma première application a été exclusivement développée sur l'ancien Dell Precision que j'avais à l'époque :)

Il y a trois routes;

  1. Installez OSx86 (alias iATKOS / Kalyway) sur une deuxième partition / disque et dual boot.
  2. Exécutez Mac OS X Server sous VMWare (Mac OS X 10.7 (Lion) et ultérieur, lisez la mise à jour ci-dessous).
  3. Utilisez Delphi XE4 et le service macincloud. C'est un ensemble d'outils commerciaux, mais le support des composants et de la bibliothèque est en croissance.

Le premier itinéraire nécessite de modifier (ou d'utiliser une image pré-modifiée) de Leopard qui peut être installée sur un PC normal. Ce n'est pas aussi difficile que vous le pensez, bien que votre ratio succès / effort dépende de la correspondance entre le matériel de votre PC et celui du matériel Mac - par exemple si vous utilisez un Core 2 Duo sur une carte mère Intel, avec NVidia carte graphique vous riez. Si vous utilisez une machine AMD ou quelque chose sans SSE3, elle s'implique un peu plus.

Si vous achetez (ou possédez déjà) une version de Leopard, il s'agit d'une zone grise puisque le CLUF de Leopard stipule que vous ne pouvez l'exécuter que sur une machine "Apple Labeled". Comme beaucoup le font remarquer si vous collez un autocollant Apple sur votre PC, vous êtes probablement couvert.

La deuxième option est la plus coûteuse. Le CLUF de la version de Leopard du poste de travail l'empêche d'être exécuté sous émulation et, par conséquent, VMWare ne prend pas en charge cette fonctionnalité. Le serveur Leopard peut cependant être exécuté sous émulation et peut être utilisé à des fins de bureau. Le serveur Leopard et VMWare sont cependant chers.

Si vous êtes intéressé par l'option 1), je suggère de commencer à Insanelymac et de lire les sections OSx86.

Je pense que vous devriez considérer si le temps que vous allez investir vaudra l'argent que vous économiserez. C'était pour moi parce que j'apprécie bricoler avec ce genre de choses et j'ai commencé pendant les bêta iPhone tôt, mois avant que leur App Store soit devenu disponible.

Alternativement, vous pouvez prendre un Mac Mini à faible spécification d'eBay. Vous n'avez pas besoin de beaucoup de puissance pour exécuter le SDK et vous pouvez toujours le vendre plus tard si vous décidez d'arrêter le développement ou d'acheter un meilleur Mac.

Mise à jour: vous ne pouvez pas créer de machine virtuelle client Mac OS X pour OS X 10.6 et versions antérieures. Apple n'autorise pas la virtualisation de ces systèmes d'exploitation client. Avec Mac OS X 10.7 (Lion), Apple a modifié son contrat de licence en matière de virtualisation. Source: Base de connaissances VMWare




Si vous avez un iPhone jailbreaké, vous pouvez installer la chaîne d'outils iphone-gcc sur l'iPhone via Cydia et ainsi vous pouvez simplement compiler les applications sur l'iPhone. Les applications développées de cette manière peuvent toujours être envoyées sur l'App Store.

Et bien que M. Valdez ait dit qu'il s'agissait d'une zone grise (ce qui est le cas), le jailbreak est incroyablement facile et pratiquement sans risque. Oui, cela annule votre garantie mais vous pouvez juste faire une restauration et ils ne le sauront jamais.




Xamarin est maintenant mon premier vote. Acheté par Microsoft et intégré directement dans Visual Studio maintenant et étant capable d'utiliser C # et avec toutes les mises à jour et fonctionnalités qu'ils ajoutent, vous pouvez tout faire sur Windows, même compiler, construire et lancer le déploiement. Vous avez seulement besoin d'un Mac Mini pour agir en tant que serveur de déploiement, mais vous n'avez jamais besoin d'écrire de code dessus.

Pour les jeux, Unity 3D est mon premier choix. Ils prennent en charge iOS et la plupart des autres plates-formes. Pour iOS et MAC, il suffit d'obtenir le MAC Mini le moins cher que vous pouvez trouver pour faire la construction, mais tout le développement peut être fait sur Windows.

Autres options:

Utilisez Marmalade (anciennement connu sous le nom Airplay SDK) (pour iPhone, vous aurez toujours besoin d'un Mac pour signer votre application, mais c'est tout, le développement / test peut être fait sur Windows). La licence de niveau inférieur est maintenant gratuite.

Marmalade SDK

PhoneGap fonctionne également, mais j'ai trouvé que ce n'est pas aussi agréable pour les jeux, mais c'est assez décent pour les applications GUI normales. Encore une fois, vous aurez besoin d'un Mac pour signer et tester votre application et être en conformité avec les conditions d'utilisation d'Apple.




La plupart des "soi-disant solutions Windows pour le développement iOS sans Mac" nécessitent Mac à la fin, juste pour signer et envoyer à l'App Store. J'ai vérifié quelques-uns, pas tous (qui a le temps?)

A la fin, c'est trop difficile d'apprendre "leur super moyen facile de programmer iOS sans Objective-C", ils ont beaucoup de bugs. Vraiment le but qu'ils définissent est irréalisable à mon avis.

En outre, ils vous font souvent utiliser des instructions équivalentes Objective-C simplement dans une autre langue. Ils ressemblent à peu près la même chose, mais il y a toujours des différences subtiles que vous devez apprendre en plus de obj-c. Ce qui a encore moins de sens, car maintenant, au lieu d'apprendre moins, il faut en apprendre davantage. Alors, où est le gain? En outre, ils coûtent beaucoup, car ils sont très difficiles à développer.

Beaucoup manquent de capacités de débogage.

À mon avis honnête, si vous êtes un développeur iOS hard-core alors à coup sûr acheter le meilleur Mac et apprendre objectif-c. C'est cher et ça prend du temps, mais si c'est votre chemin, ça vaut le coup.

Pour une utilisation occasionnelle, il est plus facile de louer un service Mac distant, comme XCodeClub.com




Vous pouvez utiliser WinChain

Citant la page du projet:

C'est le moyen le plus simple de construire l'outil iPhone sur un ordinateur Windows XP / Vista, qui peut ensuite prendre le code source Objective-C que vous écrivez en utilisant leurs en-têtes UIKit (inclus avec winChain) et le compiler dans une application que vous pouvez utiliser sur ton iPhone.




Le SDK n'est disponible que sous OS X, vous obligeant à utiliser un mac. Si vous ne voulez pas acheter de mac, vous pouvez exécuter OS X sur une machine virtuelle sur votre Windows, ou vous pouvez installer OS X sur votre PC.

Dans mon expérience, la solution de la machine virtuelle est inutilement lente (sur un ordinateur portable Core2 duo avec 2G RAM). Si vous avez envie de l'essayer, cherchez le torrent. Cela ne vaut probablement pas la peine.

L'autre option consiste à installer OS X sur votre PC, communément appelé hackintosh. Hackintoshes fonctionnent très bien - mon ami vient de vendre son mac parce que son hackintosh Dell quad core était en réalité beaucoup plus rapide que le matériel Apple (et coûte environ 1/3). Vous pouvez trouver beaucoup d'articles sur la façon de faire cela; voici un sur la façon d'installer sur un ordinateur portable Dell Inspirion 1525: tutoriel hackbook pro

Bien sûr, ces deux options vont probablement à l'encontre d'un système d'octroi de licences. Procédez donc à vos risques et périls.




Vous n'avez pas besoin de posséder un Mac et n'avez pas besoin d'apprendre Objective-C. Vous pouvez développer dans différents environnements et compiler en Objective-C plus tard.

en développement pour l'iphone et l'ipad en exécutant osx 10.6 (snow léopard)

Cet article écrit par un de nos développeurs explique comment installer OS X Snow Leopard sous Windows en utilisant iBoot, puis en installant Vmware (avec les instructions), puis en mettant en route l'environnement de développement de votre iPhone ... et quelques trucs supplémentaires. Super utile pour moi.

J'espère que cela pourra aider. Il utilise Phonegap afin que vous puissiez développer sur plusieurs plates-formes de téléphones intelligents à la fois.




Vous pouvez utiliser Tersus (gratuit, open source).







Un kit de développement qui permet de développer des applications iPhone en Objective-C, C++ ou tout simplement C avec Visual Studio:

Découvrez-le sur iOS build env

Vous pouvez créer des applications iPhone directement dans Visual Studio (2008, 2010, Express).

Assez soigné, il construit même des fichiers IPA pour votre application après une compilation réussie. Le code fonctionne comme sur les appareils jailbreakés, pour le reste de la planète, je crois que la compilation finale et la soumission à l'App Store doit être fait sur un Mac. Mais encore, il vous permet de développer en utilisant un IDE bien connu.




Bien sûr, vous pouvez écrire du code Objective-C dans un bloc-notes ou d'autres programmes, puis le déplacer vers un Mac pour le compiler.

Mais sérieusement, cela dépend si vous développez des applications officielles pour mettre dans App Store ou développer des applications pour iPhone jailbreaké. Pour écrire des applications officielles, Apple iPhone SDK qui nécessite un Mac Intel semble être le seul moyen pratique. Cependant, il existe une chaîne d'outils non officielle pour écrire des applications pour les iPhones jailbreakés. Vous pouvez l'exécuter sur Linux et Windows (en utilisant Cygwin).




Essayez macincloud.com Cela vous permet de louer un mac et d'y accéder via la télécommande RDP. Vous pouvez ensuite utiliser votre PC pour accéder à un mac, puis développer vos applications.




Hourra! Vous pouvez maintenant le faire plus facilement avec le dernier Xamarin.iOS, en utilisant un mac lié au réseau fournissant les capacités de construction et de déploiement.

Voir ici pour plus de détails:

introduction à xamarin ios pour visual studio




Si vous voulez que ce soit légitime, vous avez deux options, des solutions Mac basées sur le cloud ou des outils de développement multiplateformes. Vous pouvez envisager l'approche hackintosh ou les machines virtuelles si vous ne vous souciez pas de choses légales. Si vous avez un PC décent, l'exécution d'une machine virtuelle serait le moyen le plus facile à utiliser. Vous ne pouvez jamais savoir quel matériel aura des problèmes de pilote sur un hackintosh.

J'ai essayé toutes ces approches et elles ont toutes des avantages et des inconvénients, mais pour le deuxième groupe, je me sens un peu coupable. Je développe des applications pour gagner ma vie et je ne voudrais pas déchirer quelqu'un d'autre pour cela.

Si vous faites un petit projet, les Mac basés sur le cloud peuvent s'avérer utiles. Louez-le pour une courte période, développez votre projet et c'est parti. Ne vous embêtez pas à apprendre quelque chose de nouveau.

Cependant, si votre projet prend de l'ampleur, les frameworks multiplateformes semblent être la seule alternative. L'essentiel est que vous devez choisir judicieusement. Il y a tellement de frameworks hybrides, mais ce qu'ils font peut être résumée en une phrase comme «afficher des pages web dans un wrapper d'application» et l'expérience négative des développeurs avec les frameworks hybrides affecte également les frameworks natifs.

J'ai essayé trois d'entre eux (Titanium, Smartface et Xamarin) et ils prétendent tous produire une "véritable sortie native" et à mon avis, leurs affirmations sont correctes. Vous devez le tester et le voir, il n'est pas facile de décrire le sentiment d'origine. Dans un commentaire précédent, il a été indiqué qu'il faut un certain effort pour apprendre ces plates-formes, mais une fois que vous les connaissez, vous pouvez développer non seulement des applications iOS, mais aussi des applications Android, toutes avec le code commun. Et bien sûr, ils sont beaucoup moins chers qu'un cloud Mac. Certains d'entre eux sont même gratuits. Vous auriez besoin d'un Mac uniquement pour la soumission en magasin.

Si vous connaissez JavaScript, essayez Titanium et Smartface et si vous connaissez C #, essayez Xamarin. Il suffit de noter que pour le simulateur d'appareil, Titanium dépend d'un Mac, mais Smartface a une application de simulateur pour le développement de Windows et cela fonctionne mieux que ce que j'attendais. D'autre part, Xamarin nécessite un Mac dans votre réseau.







Si vous voulez créer des applications iPhone mais pas de Mac, vous devriez essayer http://www.pmbaty.com/iosbuildenv/

Il vous permet de développer facilement des applications iOS natives, comme avec XCode, déployables sur n'importe quel iPhone, iPod ou iPad (jailbreaké ou non).

Utilisez votre IDE préféré pour coder dans un assemblage Objective-C, C ++, C ou ARM, comme dans XCode. ARC et les blocs sont pris en charge.

Compilez vos applications iPhone directement dans Visual Studio

Cela fonctionne sur Windows toutes les versions (XP, 7, 8), FreeBSD et Linux

Maintenant avec le support iOS8.




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

Cliquez ici pour les détails.




Regarde ça:

Sur la vue

C'est un projet qui tente d'être capable de compiler des programmes écrits dans une variété de langues source vers une variété de langues cibles. L'un des premiers cas de test consistait à écrire des programmes en Java et à les exécuter sur un iPhone. Regarder la vidéo sur le site en vaut la peine.

Cela dit, je ne l'ai pas essayé. Le projet semble assez bêta, et il n'y a pas beaucoup d'activité sur leur site SourceForge.




Intéressant que personne n'ait mentionné l'option wxWidgets multiplateforme.

C'est moins qu'une solution optimale , cependant.

À mon humble avis, le moyen le plus sage d'aller est d'investir l'argent dans le cadre approuvé par Apple. De cette façon, si vous vous trouvez coincé avec un problème époustouflant, vous avez une communauté beaucoup plus grande de développeurs à consulter.




VOUS POUVEZ DÉVELOPPER DES APPLICATIONS IPHONE SUR WINDOWS PC. Je l'ai fait, avec des applications complexes. Et ça fonctionne parfaitement. Vous pouvez développer des applications iphone sans jamais voir un mac ou un iphone.

Vous pouvez développer sur Windows une application HTML (ou mieux: HTML5), en utilisant des outils comme Sencha ou JQTouch, ou mobi1. (Ils étaient tous libres pendant un certain temps)

Ensuite, vous utilisez openSSL pour signer l'application. Et le service Adobe PhoneGAP Build pour construire l'application iPhone.

Mais vous avez besoin de la licence développeur iphone pour l'installer sur un iphone. Mais vous n'avez pas besoin d'un mac ou d'un iphone à n'importe quelle minute pour compiler, construire ou tester - tout ce qui est fait sur le PC.

Je l'ai fait, et ça fonctionne parfaitement. (Mais avec la réactivité de type Android - pas aussi rapide qu'une application IPhone native)

Vous pouvez également utiliser un programme de l'ère babylonienne (circa 300 bc) exécutant C et C ++ appelé libellule. Si votre application a un ou deux écrans avec une interactivité limitée, et de nombreux calculs, allez-y. Il comprend un émulateur. Vous compilez sur l'iphone en appuyant sur un bouton. (Pas sûr, mais je pense que vous avez besoin d'une licence de développeur dans tous les cas)

Et puis il y a Xamarin. Vous développez en C # avec des appels spéciaux au code natif. Vous devrez apprendre l'environnement.




Vous pouvez utiliser Sentenza pour créer des applications pour iPhone, sur Windows. Testé avec succès. Ce n'est pas une solution mais une bonne alternative!




Deux autres options

  1. Titanium Developer - édition communautaire gratuite - écrire en HTML / JavaScript - compiler avec Xcode (nécessite un Mac ou une VM)

  2. OpenPlus ELIPS Studio - écrire en Flex, compiler sur Xcode (nécessite un Mac ou une VM) - ils ont tout juste commencé à charger leur produit.

Je pense qu'il peut y avoir des options 'toolchain' pour ceux-ci et certains des autres mentionnés, qui vous permettent de compiler en binaire sur Windows, et j'ai vu que vous pouvez télécharger un fichier zip et faire une compilation de style toolchain pour vous en ligne, mais cela va à l'encontre de la licence Apple.

Si je ne me trompe pas, un produit tel que Titanium qui sort / fonctionne avec Xcode et n'utilise aucune bibliothèque tierce / alternative / restreinte devrait être conforme, car vous compilez finalement dans le code et les bibliothèques Objective-C de xcode - normal.




Comme cela a été souligné, vous pouvez essayer d'utiliser le WinChain, mais si vous êtes un codeur débutant, ce ne sera pas facile.

L'iPhone SDK fonctionnera sur Hackintoshes (un PC normal avec OS X installé dessus). Je sais comme j'en ai un et c'est le cas.

Donc, après avoir acheté une licence OSX, vous pouvez essayer de l'installer sur votre PC sur un lecteur différent en utilisant Boot-132 ou l'un des autres installateurs comme iDeneb. Le problème, vous devrez faire beaucoup de bricolage et les choses ne fonctionneront pas tout à fait correctement.




Oui et vous n'avez pas besoin d'apprendre Objective-C et d'acheter des logiciels et du matériel Apple.

Adobe a créé un compilateur à partir d'ActionScript 3 pour le programme pour iOS. Et plus tard, Apple a approuvé cette méthode de création d'applications.

C'est la meilleure façon de créer des applications Apple sous Windows ou Linux / BSD (et une autre pour MacOS-X)




drim.co.il fournit une solution pour développer à distance sur mac en utilisant un PC avec n'importe quel système d'exploitation. Aucune installation requise sur le PC client.




Si vous voulez développer une application sur un environnement Windows alors il y a une option, vous pouvez installer MAC OS dans vos fenêtres Le nom de la plate-forme est: "Niresh'MAC OS", vous pouvez rechercher ce texte sur Google

alors vous pouvez télécharger toute la source MAC OS et l'OS MAC facilement installé sur votre PC Windows, Niresh est capable de pirater tout le système d'exploitation.

J'espère que ceci vous aidera.




Vous pouvez installer OSX sur PC mais l'expérience ne sera pas géniale et cela demande beaucoup de travail. Alternate est d'utiliser un framework / SDK Codename un : qui est basé sur JAVA et peut être utilisé pour coder dans WP8, Android, iOS sur Windows (éclipse) avec toutes les fonctionnalités étendues

Caractéristiques Aperçu:

  1. Environnement Android complet avec super simulateur android rapide
  2. Un simulateur d'iPhone / iPad avec facile de prendre des applications d'iPhone à grand écran iPad en quelques minutes.
  3. Prise en charge complète du débogage Java standard, profilage des applications sur n'importe quelle plate-forme.
  4. Thème / style facile - Un clic seulement

Plus à Développer Android, iOS iPhone, WP8 applications utilisant Java Avertissement: Ceci est ma critique pour le produit




Comme beaucoup de personnes ont déjà répondu, iPhone SDK est disponible uniquement pour OS X, et je crois qu'Apple ne le publiera jamais pour Windows. Mais il existe plusieurs environnements / frameworks alternatifs qui vous permettent de développer des applications iOS, voire de les soumettre et de les soumettre à AppStore en utilisant Windows machine ainsi que MAC. Voici les options les plus populaires et relativement mieux.

PhoneGap , permet de créer des applications web, en utilisant HTML / CSS / JavaScript

Xamarin , applications multiplateformes en C #

Adobe AIR , applications air avec Flash / ActionScript

Unity3D , moteur de jeu multiplateforme

Remarque: Unity nécessite Xcode, et donc OS X pour créer des projets iOS.




Oracle VirtualBox permet aux utilisateurs d'installer Mac OS X sur une machine virtuelle. Si vous êtes à l'aise avec cela, vous pouvez simplement utiliser cette façon d'utiliser Xcode. C'est légal si vous "dual boot" votre mac dans Windows, puis installez le VirtualBox dans Windows (ou Linux).

D'autres possibilités sont des compilateurs croisés tels que Appcelerator Titanium (HTML, CSS et JavaScript) ou MonoTouch (.NET).




Si vous avez un accès ssh à un Mac, vous pouvez utiliser un VCN (comme VCN Vine, qui permet plusieurs utilisations à la fois - client léger) pour contrôler XCode.

Cela pourrait être utile si vous vouliez accéder à un Mac Mini à partir d'un ordinateur portable, ou si votre SO monopolisait votre MacBook.