ios - descargar - ¿Comenzando el desarrollo de aplicaciones para iPhone en Linux?
iphone store (17)
He escuchado que necesitas obtener una Mac si quieres desarrollar aplicaciones para iPhone. ¿Es esto cierto?
¿Es posible desarrollar aplicaciones de iPhone usando Linux? En caso afirmativo, ¿qué necesito y dónde descargo las herramientas necesarias?
Apple nunca aprobará su aplicación si no está desarrollada con Xcode. Nunca. Y si hackeas el SDK para desarrollarlo en Linux y Apple lo descubre, no te sorprendas cuando te sirvan. Soy miembro del ADC y del programa para desarrolladores de 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 memoria RAM si va con el mini). Además, aunque he visto que OS X ha sido pirateado para ejecutarse en VMware, nunca he visto a nadie ejecutando Xcode en VM. Buena suerte. Y revisaría el EULA antes de que te metieras en el problema.
PD: Después de leer lo anterior, sí, estoy de acuerdo. Si pirateas el SDK y lo desarrollas en Linux, al menos haz el paquete final en una Mac. Y enviarlo a través de una Mac. Apple no corre a través del código línea por línea, así que dudo que lo atrapen. Pero hombre, eso es mucho si y trabajo. Ser divertido hacer sin embargo. :)
Con respecto a la cadena de herramientas alternativas, el sitio de Saurik es útil, pero para el desarrollo de firmware más reciente, indica que se está construyendo en el propio iPhone y evita indicar que es posible que deba copiar los archivos de firmware del iPhone necesarios a su entorno Linux. No es imposible, pero solo requiere trabajo adicional, especialmente para firmar el código (también hay 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.
Yo sugeriría seguir con la compilación final, la firma de código y el empaquetado en XCode (lo que puede significar pedir 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 alternativas abre (al menos en Mac) la posibilidad de usar otros IDE distintos de XCode para desarrollar la aplicación y volver a recurrir a XCode para la implementación y prueba con el simulador.
Por supuesto, si obtiene la firma de código / generación de certificado trabajando desde la línea de comandos fuera de XCode, puede instalar un certificado en su iPhone real y realizar una prueba allí (instalar la aplicación a través de iTunes con su certificado).
Es posible que pueda escribir código en una caja de Linux que eventualmente se encontrará en un iPhone o iPad, pero finalmente necesitará una Mac para probar o implementar el código en el iPhone o para enviarlo a la tienda de aplicaciones. Entonces, en última instancia, necesita una Mac, así que también podría hacer el trabajo en la Mac, con todas las herramientas que Apple proporciona. Existen alternativas a Xcode y Objective-C, como Monotouch, pero también utilizan las herramientas de Apple.
Puede con algún trabajo ejecutar OS X en una máquina virtual 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 hardware de Apple.
Lamento darle esta noticia: el ecosistema que rodea al iPhone / iPad está muy controlado.
EDITAR: Una excepción importante 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é que tu pregunta era sobre el desarrollo de aplicaciones nativas. Las aplicaciones web, aunque el usuario puede crear un ícono para lanzarlas, siguen siendo ciudadanos de "segunda clase".
Hasta cierto punto, sí, es posible. Puede escribir el código de 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:
- Use Interface Builder para configurar su interfaz, ya que es solo para Mac. (No es necesario, pero se recomienda).
- Compile el código que utiliza las clases de cacao de Apple; no existen en Linux.
- Código de prueba en el simulador: no hay uno para Linux.
- Compile el código para dispositivos reales o para la App Store: todo esto requiere herramientas que Apple solo proporciona para OS X.
Hay un marco llamado Rhodes .
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 en Java para Android, etc. Hace las conversiones por usted. Todo lo que necesita hacer es seguir las Reglas para crear una aplicación de iPhone (o el teléfono que desea desarrollar) para que pueda aceptarse en iTunes (o en el mercado equivalente).
Esto te permitirá agregar la aplicación a iTunes también.
Sin embargo, no he encontrado emuladores, lo que significa que para probar tu aplicación necesitas ponerla en un iPhone, que 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 desea crear una aplicación para un iPhone, invierta en una Mac.
Espero que esto ayude.
He tenido éxito en la creación de aplicaciones iOS en linux utilizando el conjunto de herramientas de clang de iOS de cjacker . Básicamente, consiste en las herramientas de flujo ascendente y llvm de su distribución Linux, un puerto de Linux del enlazador de Apple y algunas herramientas adicionales para ayudar a simplificar el proceso de compilación (como la conversión de proyectos de xcode al 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 howto 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, querrás 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.
Hice un intento de portar cocos2d-iphone a GNUstep para que pueda desarrollar un juego basado en cocos2d. Sin embargo para la publicación necesitas un mac. cocos2d-GNUstep .
La única forma que conozco de hacer un desarrollo 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 hacer eso. Se informa que OS X Server puede ser virtualizado pero en cuanto a la historia de desarrollo que no conozco.
Si eres realmente serio, eso es lo que yo investigaría.
Buena suerte.
La respuesta a esto realmente depende de si desea o no desarrollar aplicaciones que luego se distribuyen a través de la tienda de iPhone. Si no lo hace, y no le importa desarrollar para la multitud de iPhone "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:
Necesitas conseguir mac para ello. Hay varias cadenas de herramientas disponibles (como win-chain) que realmente le permiten escribir y crear aplicaciones de i Phone en Windows. Hay varios tutoriales asociados para construir el código de Objective C en Windows. Pero hay un problema, las aplicaciones desarrolladas funcionarán solo en Jail broken i Phones.
Hemos visto algunos trucos para superar eso y llegar a la App Store, pero como Apple sigue actualizando los SDK, las cadenas de herramientas necesitan actualizaciones periódicas. Es una molestia hacerlo todo el tiempo. Si desea preparar la aplicación, también puede tomar la ayuda de arcapps para lanzar sus aplicaciones a un precio razonable. desarrollo de aplicaciones para iphone
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ápido. Encontré una VM precompilada en línea (te lo dejo para que lo encuentres). El desarrollo de Xcode / iPhone funciona perfectamente, al igual que la depuración a través del USB del teléfono.
En realidad me sorprendió mucho, pero no he tenido ningún problema.
Parece ser cierto hasta ahora. El único SDK disponible de Apple solo se dirige al entorno MacOS. He estado molesto por eso, pero estoy pensando en 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.
Aquí hay un artículo sobre su indiferencia general con respecto al SDK:
El iPhone SDK y el software libre: no es un partido
Apple lanzó recientemente un kit de desarrollo de software (SDK) para el iPhone, pero si esperaba portar o desarrollar un software de código abierto original con él, las noticias no son buenas. Las condiciones de firma de código y de no divulgación hacen que el software libre sea un no-go.
El SDK en sí mismo es una descarga gratuita, con la que puede escribir programas y ejecutarlos en un simulador de software. Pero para lanzar realmente el software que ha escrito, debe inscribirse en el Programa para desarrolladores de iPhone, un paso separado de la descarga del SDK, y otro 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 necesite comprar una licencia de $ 100 si quiere publicar sus cosas, realmente lo hace más difícil para el programador aficionado. Aunque, 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.
Puede usar Tersus (código abierto), y le permite exportar la aplicación como un proyecto de Xcode.
Recomendaría obtener un mac porque el simulador de ios es increíble para probar en las primeras etapas de una aplicación. Pero sí conozco una pequeña empresa con la que trabajamos que se desarrolla utilizando Unity para que no necesiten una carga de macs. De esa manera solo necesitan un 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 lo que construyas porque es un motor de juegos. Es posible que desee buscar en 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 de iPhone, creo que podría recuperar fácilmente el costo de una Mac Mini o Macbook. :-)
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 de libertad. Sin embargo, mientras se desarrolla, uno no tendrá que lidiar con Apple en absoluto. Puede usar, por ejemplo, rsync para cargar el código en el dispositivo y probarlo.
Solía haber 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.