Escuché que necesitas obtener una Mac si quieres desarrollar aplicaciones para iPhone. ¿Es esto cierto?
¿Es posible desarrollar aplicaciones para iPhone usando Linux? En caso afirmativo, ¿qué necesito y dónde descargo las herramientas necesarias?
Escuché que necesitas obtener una Mac si quieres desarrollar aplicaciones para iPhone. ¿Es esto cierto?
¿Es posible desarrollar aplicaciones para iPhone usando Linux? En caso afirmativo, ¿qué necesito y dónde descargo las herramientas necesarias?
Respuestas:
Para proporcionar una respuesta diferente, estoy ejecutando OS X y Xcode en una máquina virtualizada (VMware) en Linux. La CPU es un Core2Quad (Q8800), y es perfectamente rápida. Encontré una máquina virtual preconstruida en línea (lo dejaré para que la encuentres) El desarrollo de Xcode / iPhone funciona perfectamente, al igual que la depuración a través del USB en el teléfono.
En realidad me sorprendió mucho, pero no he tenido ningún problema.
La respuesta a esto realmente depende de si quieres o no desarrollar aplicaciones que luego se distribuyan a través de la tienda de iPhone. Si no lo hace, y no le importa desarrollar para la multitud de iPhone "con jailbreak", entonces es posible desarrollar desde Linux.
Consulte la página de este capítulo para obtener una guía completa (aunque un poco compleja) sobre qué hacer:
Parece ser cierto hasta ahora. El único SDK disponible de Apple solo se dirige al entorno MacOS. Estoy molesto por eso, pero estoy buscando comprar una Mac ahora, solo para hacer el desarrollo del iPhone. Realmente no me gusta lo que están haciendo, y espero que salga un buen SDK para otros entornos, como Linux y Windows.
Obstáculos con respecto al SDK:
El iPhone SDK y el software libre: no son iguales
Apple lanzó recientemente un kit de desarrollo de software (SDK) para iPhone, pero si esperaba portar o desarrollar software original de código abierto con él, la noticia no es buena. La firma de códigos y las condiciones de confidencialidad hacen que el software libre sea una opción imposible.
El SDK en sí es una descarga gratuita, con la que puede escribir programas y ejecutarlos en un simulador de software. Pero para poder lanzar el software que ha escrito, debe inscribirse en el Programa de Desarrolladores de iPhone, un paso separado de la descarga del SDK y que requiere la aprobación de Apple.
Creo que es bastante elitista para ellos pensar que solo los usuarios de macos son lo suficientemente buenos como para escribir programas para su teléfono, y el hecho de que necesites comprar una licencia de $ 100 si quieres publicar tus cosas, realmente hace que sea más difícil para el programador aficionado. Sin embargo, si eso es lo que necesitas hacer, estoy planeando saltar a través de sus aros; Realmente me gustaría desarrollar algunas cosas en mi iPhone.
No solía ser un proyecto dedicado a resolver este defecto: iPhone-dev
El objetivo del proyecto iphone-dev es crear una cadena de herramientas gratuita, portátil y de alta calidad para permitir el desarrollo del iPhone de Apple y otros dispositivos integrados basados en la plataforma ARM / Darwin.
Con respecto a la cadena de herramientas alternativas, el sitio de Saurik es útil, pero para el último desarrollo de firmware, indica que se basa en el iPhone y se mantiene alejado de indicar que es posible que deba copiar los archivos de firmware de iPhone necesarios en su entorno Linux. No es imposible, pero solo requiere trabajo adicional, especialmente para firmar el código (también existen soluciones alternativas abiertas).
Además, eche un vistazo a otras guías (para la misma cadena de herramientas) que lo abordan de manera más metódica.
Sugeriría que aún haga la compilación final y la firma y el empaque del código en XCode (lo que puede significar tomar prestada la Mac de alguien) en caso de que tenga problemas al enviar la aplicación a Apple. El uso de la cadena de herramientas alternativa abre (al menos en Mac) la posibilidad de usar otros IDEs que no sean XCode para desarrollar la aplicación y recurrir nuevamente a XCode para la implementación y prueba con el simulador.
Por supuesto, si consigue que la firma de código / generación de certificados funcione desde la línea de comandos fuera de XCode, puede instalar un certificado en su iPhone real y probar allí (instalando la aplicación a través de iTunes con su certificado).
La única forma en que sé desarrollar en Linux para iPhone sería instalar Vmware y trabajar para que OS X se ejecute en una máquina virtual. Dicho esto, hay algunas preocupaciones "legales" al hacerlo. Se informa que OS X Server se puede virtualizar, pero en cuanto a la historia de desarrollo, no lo sé.
Si eres realmente serio, eso es lo que investigaría.
Buena suerte.
Puede usar Tersus (código abierto), y le permite exportar la aplicación como un proyecto Xcode.
Tersus Studio generates native iPhone applications in the form of Xcode projects that you can compile and sign using Apple's iPhone SDK.
Por lo tanto, no podrá compilar y firmar una aplicación nativa de iOS
Es posible que pueda escribir código en una caja de Linux que eventualmente se encontrará en un iPhone o iPad, pero en última instancia necesitaría una Mac para probar o implementar el código en el iPhone o enviarlo a la tienda de aplicaciones. Entonces, en última instancia, necesita una Mac, por lo que también podría hacer el trabajo en la Mac, con todas las herramientas que proporciona Apple. Existen alternativas a Xcode y Objective-C, como Monotouch, pero también utilizan las herramientas de Apple.
Con algún trabajo puede ejecutar OS X en una VM en Linux. Sin embargo, debo señalar que esto romperá el acuerdo de licencia de OSX, incluso si compra la copia de OSX, ya que solo tiene licencia para ejecutarse en el hardware de Apple.
Lamento darle esta noticia: el ecosistema alrededor del iPhone / iPad está muy estrictamente controlado.
EDITAR: Una gran excepción a esto es escribir una aplicación web para el iPhone. Hay algunas aplicaciones web excelentes para el iPhone que son casi tan buenas como la experiencia del usuario como una aplicación nativa. Sin embargo, interpreté su pregunta sobre el desarrollo de aplicaciones nativas. Las aplicaciones web, aunque el usuario puede crear un icono para lanzarlas, siguen siendo ciudadanos de "segunda clase".
He tenido éxito construyendo aplicaciones de iOS en Linux usando la cadena de herramientas de clang de iOS de cjacker . Básicamente, consiste en las herramientas ascendentes de clang y llvm de su distribución de Linux, un puerto de Linux del enlazador de Apple y algunas herramientas adicionales para ayudar a simplificar el proceso de construcción (como convertir proyectos de xcode a formato Makefile).
La instalación requiere algunos pasos, pero usted es un desarrollador de software, por lo que estaría acostumbrado a eso. Publiqué un tutorial actualizado para Debian 7 (Wheezy) en línea:
http://www.ninthavenue.com.au/how-to-build-an-ios-toolchain-for-linux-debian-7
De lo contrario, desea seguir las instrucciones genéricas que son un poco más antiguas:
http://code.google.com/p/ios-toolchain-based-on-clang-for-linux/wiki/HowTo_en
Buena suerte.
Hay un marco llamado Rodas .
El concepto se basa en Ruby on Rails y usted desarrolla su aplicación móvil en Ruby y HTML, y puede escribir su código en un entorno Linux. Luego puede crear una cuenta en Rhohub , donde agrega el código (a través de GitHub ), y le permite compilarlo para iPhone, Blackberry, Android, Windows Mobile y Symbian, todo con el mismo código. No tiene que codificar en Objective-C para iPhone, ni Java para Android, etc. Hace las conversiones por usted. Todo lo que necesita hacer es atenerse a las Reglas para crear una aplicación de iPhone (o el teléfono para el que desea desarrollar) para que pueda aceptarse en iTunes (o en el mercado equivalente).
Esto le permitirá agregar la aplicación a iTunes también.
Sin embargo, no he encontrado ningún emulador, lo que significa que para probar su aplicación necesita ponerla en un iPhone, lo cual es una misión.
Estoy usando esta opción porque quiero crear aplicaciones para todos los teléfonos y ya uso Ruby on Rails. Si solo quieres hacer una aplicación para un iPhone, entonces invierte en una Mac.
Espero que esto ayude.
Tienes razón, los teléfonos sin jailbreak están limitados a la tienda de aplicaciones de Apple y Apple "tiene el derecho" de hacer cumplir cualquier regla, es un territorio totalmente libre. Sin embargo, durante el desarrollo, uno no tendrá que lidiar con Apple en absoluto. Puede usar, por ejemplo, rsync para cargar el código en el dispositivo y probarlo.
Hasta cierto punto, sí, es posible. Puede escribir el código Objective-C y configurar sus proyectos. Incluso puede probar las partes C y C ++ de su código con gcc.
Lo que no puedes hacer:
Necesitas obtener mac para ello. Hay varias cadenas de herramientas disponibles (como win-chain) que realmente le permiten escribir y construir aplicaciones de i Phone en Windows. Hay varios tutoriales asociados para construir el código Objective C en Windows. Pero hay un problema, las aplicaciones desarrolladas por lo tanto funcionarán solo en Jail broken i Phones.
Hemos visto algunos trucos para superar eso y llegar a la App Store, pero a medida que Apple sigue actualizando los SDK, las cadenas de herramientas necesitan actualizaciones periódicas. Es complicado inventarlo todo el tiempo. Si desea preparar la aplicación, también puede obtener ayuda de arcapps, sus aplicaciones de lanzamiento a un precio razonable. desarrollo de aplicaciones para iphone
Intenté portar cocos2d-iphone a GNUstep para que puedas desarrollar el juego basado en cocos2d. Sin embargo, para publicar necesitas una mac. cocos2d-GNUstep .
Recomendaría obtener una Mac porque el simulador de iOS es increíble para probar en las primeras etapas de una aplicación. Pero sí sé de una pequeña empresa con la que trabajamos que se desarrolla utilizando Unity para que no necesiten una gran cantidad de equipos Mac. De esa manera, solo necesitan una Mac para la oficina y eso es solo para compilar la compilación final. También significa que funciona en Android, pero realmente depende de cuál sea tu edificio porque es un motor de juegos. Es posible que desee buscar aplicaciones web utilizando marcos como Sencha Touch Mobile
Unidad: http://unity3d.com/ Sencha Touch: http://www.sencha.com/products/touch/
Si valoras tu tiempo, ¡compra una Mac! No sé lo suficiente sobre las opciones de desarrollo de Linux para ofrecer una solución viable, pero parece que los métodos propuestos implican un trabajo bastante indirecto. Si planea escribir y vender seriamente aplicaciones para iPhone, creo que podría recuperar fácilmente el costo de una Mac Mini o Macbook. :-)
Apple nunca aprobará su aplicación si no está desarrollada con Xcode. Nunca. Y si hackea el SDK para desarrollarlo en Linux y Apple se entera, no se sorprenda cuando lo atiendan. Soy miembro del programa de desarrollo de ADC y iPhone. Confía, Apple es MUY serio sobre esto.
No se arriesgue, compre un Macbook o Mac mini (sí, un mini puede ejecutar Xcode, aunque lentamente, aumente la RAM si va con el mini). Además, aunque he visto OS X pirateado para ejecutarse en VMware, nunca he visto a nadie que ejecute Xcode en VM. Buena suerte. Y revisaría el EULA antes de que pases por el problema.
PD: Después de leer lo anterior, sí, estoy de acuerdo. Si hackea el SDK y desarrolla en Linux, al menos haga el paquete final en una Mac. Y enviarlo a través de una Mac. Apple no ejecuta el código línea por línea, así que dudo que lo capten. Pero hombre, eso es mucho de si y trabajo. Aunque sea divertido de hacer. :)