¿Crear una aplicación para iOS sin tener una Mac? [cerrado]

98

Por favor corrígeme si estoy equivocado.

Soy nuevo en el desarrollo móvil y me gustaría desarrollar una aplicación para enviarla a la tienda de Apple.

Pero estoy muy desanimado por los precios de las Mac en las que estoy desarrollando la aplicación en mente.

Digamos que sé exactamente lo que quiero y cómo codificarlo.

Si tuviera que crear una cuenta de desarrollador y pagar la tarifa, entonces pediría prestada la Mac de mi amigo, escribir el código y enviar mi código a Apple. ¿Es para eso todo lo que necesito el mac? ¿Y luego podré acceder a todas las estadísticas, etc. a través de iTunes en mi computadora con Windows?

¿Alguien puede decirme que estoy delirando?

Cescy
fuente
2
podría lograrse de la forma en que habla, pero piense en este punto que si su aplicación necesita alguna actualización o un error menor o cambios, ¿entonces? cada vez que le pidas un favor a tu amigo?
D-eptdeveloper
5
Necesita una Mac para el desarrollo serio de iOS. Período. Y no son tan caros después de todo. Y no se olvide de un puñado de dispositivos iOS para probar: las aplicaciones que no se probaron en el hardware disponible generalmente muestran deficiencias.
Eiko
1
La parte delirante comienza con "Sé cómo codificarlo" ... si se codifica usted mismo (es decir, no hay trabajo por contrato con otros), necesitará muchas pruebas y depuración. Piense en algunas semanas para poner en marcha un proyecto que valga la pena mostrárselo a alguien. Pulirlo y hacerlo "digno de una tienda" será un trabajo duro. Realmente solo puedo pensar en las aplicaciones más inútiles (es decir, "envoltorios de sitios web") que se crean en un día en una Mac si ya es un desarrollador de iOS experimentado.
Eiko
Es posible construir una cadena de herramientas iOS basada en GCC en Linux. Xcode no es un compilador, solo es necesario para generar los certificados para enviar su aplicación a la AppStore.
El croissant paramagnético
2
Puede buscar Hackintosh, que permite ejecutar Mac OS en procesadores Intel, pero creo que es ilegal.
Borzh

Respuestas:

32

Déjame decirte paso a paso hace unos años yo estaba en la misma situación.

Entonces tenemos dos fases

  1. Desarrollo de aplicaciones para iPhone / iPad (iOS)
  2. Desarrollo de aplicaciones para iPhone / iPad (iOS) y publicación en iTunes Store

1. Desarrollo de aplicaciones para iPhone / iPad (iOS)

Entonces, si solo desea desarrollar aplicaciones para iOS, no desea pagar nada,

Solo necesitas Mac + XCode IDE

  1. Obtenga Mac Mini o Mac Machine
  2. Crear cuenta de desarrollador en Apple es gratis
  3. Después de iniciar sesión en la cuenta de desarrollador, puede descargar el archivo .dmg de Xcode IDE
  4. Eso es todo.

Ahora simplemente instale Xcode y comience a desarrollar aplicaciones de iOS y pruebe / depure con Simulator ..

2. Desarrollo de aplicaciones para iPhone / iPad (iOS) y publicación en iTunes Store

para publicar su aplicación en la tienda de iTunes, debe pagar (por ejemplo, $ 99 / año).

Entonces, para una configuración completa de desarrollo de iOS, necesita

  1. Obtenga Mac Mini o Mac Machine
  2. Crear cuenta de desarrollador en Apple es gratis
  3. Después de iniciar sesión en la cuenta de desarrollador, puede descargar el archivo .dmg de Xcode IDE
  4. pagar $ 99 por publicar aplicaciones en iTunes
  5. cree sus certificados para desarrollo / distribución en su cuenta de Apple
  6. descargue todos los certificados en la máquina mac e instálelos en XCode usando la herramienta Llavero
  7. Obtenga al menos un dispositivo iOS
  8. Registre su dispositivo en su cuenta de Apple
  9. Ahora puede desarrollar la aplicación iOS, probar en Real Device y también publicar en iTunes Store
SwiftBoy
fuente
Consulte estos requisitos de iOS para Xamarin developer.xamarin.com/guides/cross-platform/getting_started/…
Jaider
Pero la pregunta dice específicamente "¿sin tener una Mac?"…
PF4Public
28

En Windows, puede usar Mac en una máquina virtual (esto probablemente también funcione en Linux, pero no lo he probado). Una máquina virtual es básicamente un programa que ejecuta en su computadora y que le permite ejecutar un sistema operativo en una ventana dentro de otro. Asegúrese de tener al menos 60 GB de espacio libre en su disco duro. El disco duro virtual que descargarás ocupa inicialmente 10 GB, pero cuando hayas instalado todos los programas necesarios para desarrollar aplicaciones iOS, su tamaño puede aumentar fácilmente a 50 GB (recomiendo dejar un margen de unos pocos GB por si acaso).

Aquí hay algunos pasos detallados sobre cómo instalar una máquina virtual Mac en Windows:

  1. Instala VirtualBox .

  2. Debe habilitar la virtualización en el BIOS. Para abrir el BIOS en Windows 10, debe comenzar manteniendo presionada la Shifttecla mientras presiona el botón Reiniciar en el menú de inicio. Luego obtendrá una pantalla azul con algunas opciones. Elija "Solucionar problemas", luego "Opciones avanzadas", luego "Configuración de firmware UEFI", luego "Reiniciar". Luego, su computadora se reiniciará y abrirá el BIOS directamente. En versiones anteriores de Windows, apague la computadora normalmente, mantenga presionada la F2tecla, encienda su computadora nuevamente y no la suelte F2hasta que esté en el BIOS. En algunas computadoras, es posible que deba mantener presionada otra tecla que no sea F2.

  3. Ahora que está en el BIOS, debe habilitar la virtualización. La configuración que se supone que debe cambiar depende de la computadora que esté usando. Esto puede variar incluso entre dos equipos con la misma versión de Windows. En mi computadora, debe establecer Intel Virtual Technologyen la Configurationpestaña Enabled. En otras computadoras, puede estar en, por ejemplo, Security -> Virtualizationo en Advanced -> CPU Setup. Si no puede encontrar ninguna de estas opciones, busque en Google . No cambie nada en el BIOS así al azar porque de lo contrario podría causar problemas en su computadora. Cuando haya habilitado la virtualización, guarde los cambios y salga del BIOS. Esto generalmente se hace en la pestaña.enable virtualization (the kind of computer you have)Exit

  4. Descargue este archivo (no tengo ninguna asociación con la persona que lo cargó, pero lo he usado yo mismo, así que estoy seguro de que no hay virus). Si el enlace se rompe, publique un comentario para avisarme e intentaré cargar el archivo en otro lugar. La contraseña para abrir el archivo 7Z es stackoverflow.com. Este archivo 7Z contiene un archivo VMDK que actuará como el disco duro de la máquina virtual Mac. Extraiga ese archivo VMDK. Si el espacio en disco es un problema para usted, una vez que haya extraído el archivo VMDK, puede eliminar el archivo 7Z y, por lo tanto, ahorrar 7GB.

  5. Abra VirtualBox que instaló en el paso 1. En la barra de herramientas, presione el botón Nuevo. Luego elija un nombre para su máquina virtual (el nombre no es importante, lo llamé "Mac"). En "Tipo", seleccione "Mac OS X" y en "Versión" seleccione "macOS 10.13 High Sierra (64 bit)" (la versión de Mac que instalará en la máquina virtual es en realidad Catalina, pero VirtualBox no tiene esa opción aún y funciona bien si VirtualBox cree que es High Sierra).

    También es una buena idea (aunque no es obligatorio) mover el archivo VMDK que extrajo en el paso 4 a la carpeta que aparece en "Carpeta de la máquina" (en la captura de pantalla anterior C:\Users\myname\VirtualBox VMs).

  6. Seleccione la cantidad de memoria que puede usar su máquina virtual. Intente equilibrar la cantidad porque muy poca memoria dará como resultado que la máquina virtual tenga un bajo rendimiento y demasiada memoria hará que su sistema host (Windows) se quede sin memoria, lo que hará que la máquina virtual y / u otros programas que usted ' se está ejecutando en Windows para bloquearse. En una computadora con 4 GB de memoria disponible, 2 GB era una buena cantidad. No se preocupe si selecciona una cantidad incorrecta, podrá cambiarla cuando lo desee (excepto cuando la máquina virtual esté funcionando).

  7. En el paso Disco duro, elija "Usar un archivo de disco duro virtual existente" y haga clic en el pequeño icono de carpeta a la derecha de la lista desplegable. Eso abrirá una nueva ventana. En esa nueva ventana, haga clic en el botón "Agregar" en la parte superior izquierda, que abrirá una ventana de exploración. Seleccione el archivo VMDK que descargó y extrajo en el paso 4, luego haga clic en "Elegir".

    Cuando haya terminado con esto, haga clic en "Crear".

  8. Seleccione la máquina virtual en la lista a la izquierda de la ventana y haga clic en el botón Configuración en la barra de herramientas. En Sistema -> Procesador, seleccione 2 CPU; y en Red -> Conectado a, seleccione Adaptador en puente. Si luego se da cuenta de que seleccionó una cantidad de memoria en el paso 6 que causa problemas, puede cambiarla en Sistema -> Placa base. Cuando haya terminado de cambiar la configuración, haga clic en Aceptar.

  9. Abra el símbolo del sistema ( C:\Windows\System32\cmd.exe). Ejecute los siguientes comandos allí, reemplazándolos "Your VM Name"con lo que llamó su máquina virtual en el paso 5 (por ejemplo "Mac") (mantenga las comillas):

    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. Ahora todo está listo para que uses la máquina virtual. En VirtualBox, haga clic en el botón Inicio y siga las instrucciones de instalación para Mac. Una vez que haya instalado Mac en la máquina virtual, puede desarrollar su aplicación iOS como si tuviera una Mac real.

Observación: Si desea ahorrar espacio en su disco duro, puede comprimir el archivo VMDK que extrajo en el paso 4 y utilizó en el paso 7. Para hacer esto, haga clic derecho sobre él, seleccione Propiedades, haga clic en Avanzado ... en la parte inferior derecha y marque la casilla de verificación "Comprimir contenido para ahorrar espacio en disco". Esto hará que este archivo muy grande ocupe menos espacio en disco sin que nada funcione menos bien. Lo hice y redujo el tamaño del disco del archivo VMDK de 50GB a 40GB sin perder ningún dato.

Pato Donald
fuente
1
El Vm funciona bien. Pero es muy lento en mi máquina, que es una máquina de juegos.
Reuel Ribeiro
@ReuelRibeiro Es posible que desee verificar la configuración de su máquina virtual para asegurarse de que esté optimizada para su computadora. Aquí hay un artículo útil sobre el tema: hanselman.com/blog/…
Technoguyfication
2
En el paso 9, tuve que agregar VBoxManage setextradata "Your VM Name" "VBoxInternal / Devices / efi / 0 / Config / DmiSystemSerial" W1234567980 para poder iniciar sesión con mi ID de Apple
ikleiman
1
Aunque esto podría funcionar, la última versión de xcode no es compatible con IOS 10.11 (El Captain) que se encuentra actualmente en Google Drive. ¿Tiene una versión posterior de MacOS?
CularBytes
1
@RahulShah Puedes hacer cualquier cosa que puedas hacer en una Mac real.
Donald Duck
26

Actualización de 09/2017

Es posible desarrollar aplicaciones para iOS (y Android al mismo tiempo) usando React Native + Expo sin tener una Mac. También podrá ejecutar su aplicación iOS dentro de la aplicación iOS Expo mientras la desarrolla. (Incluso puede publicarlo para que otras personas accedan, pero solo se ejecutará dentro de la aplicación Expo). Aquí está la página de Expo sobre cómo generar una aplicación independiente.

Pasos de esa página:

Uno : instalar expejecutandonpm install -g exp

Dos : configure app.json (en algún lugar a lo largo de estas líneas):

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

Tres : Comience expempaquetador conexp start

Cuatro : ejecutar exp build:androido exp build:ios.

Se le pedirá alguna entrada. Para Android, puede elegir 1) Let Expo handle the process!si no tiene un almacén de claves (o si no sabe qué es). Para iOS, deberá ingresar sus credenciales de desarrollador de Apple. Luego, puede proporcionar un certificado de distribución o dejar que expo se encargue de ello.

Cinco : De vez en cuando tendrás que volver y ejecutar el exp build:statuscomando para comprobar si la compilación se completó. Si está completo, se le proporcionará un enlace directo .apko un .ipaarchivo.

El único inconveniente de este enfoque es que no será tan nativo como escribir una aplicación de iOS en Swift, y tendrá que aguantar un desfile de problemas con los que puede encontrarse mientras desarrolla con js, npm débilmente tipados y su dependencia. problemas relacionados con la versión particular de alguna otra biblioteca y otras cosas.

lo que sea
fuente
¿Es esto también posible con otros marcos, por ejemplo, Qt y JavaFXPorts?
Daniel Ziltener
@DanielZiltener No estoy familiarizado con ninguno de los dos, pero creo que la respuesta es no.
sea
13

Puede usar Phonegap (Cordova) para desarrollar aplicaciones de iOS sin una Mac, pero aún necesitaría una Mac para enviar su aplicación a la App Store. Desarrollamos una aplicación en la nube que también puede publicar su aplicación sin una Mac https://www.wenz.io/ApplicationLoader . Actualmente estamos en beta y puedes usar el servicio gratis.

Saludos cordiales, Steffen Wenz

(Soy el creador del sitio)

Steffen Wenz
fuente
1
Yo uso el cargador de aplicaciones de Wenz. Para eso, creé una ID de Apple especial con solo permiso de carga. Dado que su IPA debe estar firmada, sigue siendo segura incluso si se filtra su contraseña.
user1219721
¿Hay alguna forma de generar un archivo IPA sin una mac para enviar a sus servicios?
12 rombos en cuadrícula sin esquinas
11

La actualización Intel XDK ya no está disponible.

Puede usar Intel XDK con el que puede desarrollar y publicar una aplicación para iOS sin la mac.

Haga clic aquí para obtener más detalles.

Hemant Singh Rathore
fuente
10
Intel XDK ha fallecido ... RIP
Nowdeen
11

Respuesta corta: teóricamente SÍ, pero este tiene que ser un MUY BUEN amigo tuyo, pero nuevamente, es posible que prefieras comprar un mac-mini usado

TLDR: necesitará esta Mac durante mucho tiempo, según los requisitos de su aplicación, sus habilidades de desarrollo y su suerte con Apple. Por ejemplo:

  1. Es posible que necesite algunos días para configurar Xcode y los SDK y bibliotecas necesarios.
  2. Puede llevar algún tiempo obtener esa cuenta de desarrollador, a veces puede esperar demasiado incluso para que se revise su solicitud.
  3. Cuando envíe su solicitud por primera vez, tendrá que esperar algún tiempo, tal vez hasta varias semanas, o incluso meses, para que se revise su aplicación.
  4. Cada vez que su aplicación sea rechazada, deberá encontrar y solucionar sus problemas (sin mucha ayuda de Apple, aparte de señalar la regla de la guía que rompió), luego volver a enviar su aplicación para su revisión y esperar nuevamente.
  5. Cada vez que intente aplicar un parche para su aplicación ya implementada, tendrá que revisar su aplicación y existe la posibilidad de que su aplicación que antes era legítima, ahora rompa una nueva guía, por lo que debe volver a enviarla y esperar

Entonces, desde mi experiencia, el desarrollo de una aplicación iOS es un procedimiento muy largo, sin siquiera considerar el tiempo real de desarrollo del código. ¿Puedes pedir prestada una Mac por tanto tiempo?

YannicuLar
fuente
Tanto tú como el otro chico me han aclarado mucho, así que les agradezco
Cescy
1
De nada. A mi modo de ver, una aplicación de iOS para un desarrollador sin experiencia, es una posibilidad remota y un gran compromiso. Primero puede comenzar con una aplicación de Android que le costará $ 25 (licencia de desarrollo de por vida).
YannicuLar
4

Además, si desea ahorrar algo de dinero, no debe comprar una Mac. Hay otras formas de hacerlo:

1.) Puede usar prácticamente cualquier sistema operativo para ejecutar el último MacOS en una máquina virtual (consulte YouTube). Estoy usando este método mucho tiempo sin ningún problema en Windows con VMWare.

2.) Hackintosh. Instale MacOS en su PC. Debes tener componentes compatibles, pero si los tienes, esta es la mejor manera, porque eliminas los lags en VM ... Yo estoy usando esto en este momento. Perfecto. En mi computadora portátil, pero no le digas esto a Apple, porque prácticamente es ilegal

3.) Si está creando aplicaciones simples con una interfaz de usuario mínima, puede usar Theos . También con Theos puedes crear ajustes de cydia. Solo un problema: codeign. Si desea publicar una aplicación en la App Store, aún debe tener MacOS, pero si desea crear una aplicación en casa, puede usar CydiaImpactor para firmar las aplicaciones con la ID de Apple.

Usé todas estas formas y todo está funcionando. By my VM es la mejor solución si no quieres perder mucho tiempo instalando Hackintosh.

Samuel Tulach
fuente
2

Puede usar Smartface para desarrollar su aplicación con javascript e implementarla en tiendas directamente sin una Mac. Lo que dicen está a continuación.

Con el módulo Cloud Build, Smartface elimina todas las molestias de la implementación de aplicaciones. No necesita preocuparse por administrar certificados de firma de código y tener una Mac para firmar sus aplicaciones. Smartface Cloud puede almacenar todos sus certificados de iOS y almacenes de claves de Android en un solo lugar y la firma y la construcción están completamente en la nube. Independientemente del sistema operativo que utilice, puede obtener binarios listos para la tienda (o distribución empresarial). Smartface te libera del bloqueo de Mac y te permite usar tu sistema operativo favorito para el desarrollo.

https://www.smartface.io/smartface/

Tempeck
fuente
2

La mayoría de los marcos como React Native e Ionic te permiten construir en su servidor. Lo que significa que pueden ayudarlo a compilar y proporcionarle un archivo .ipa.

El problema es que necesita Xcode o el cargador de aplicaciones para enviar su aplicación a Apple App Store Connect. Ambos solo están disponibles en OSX. Para superar esta solución tienes 2 opciones que conozco

  1. Alquile mac virtualmente. http://www.macincloud.com
  2. Utilice el sitio web que le ayuda a cargar su aplicación (debe tener un archivo .ipa). http://www.connectuploader.com
Valehelle
fuente
1

Mi experiencia es que Ionic Pro ( https://ionicframework.com/pro ) puede hacer la mayor parte del trabajo de Desarrollo y Publicación, pero aún necesita Mac o Mac en la nube en estos pasos:

  • crear archivo de certificación .p12
  • cargue el archivo .ipa en la App Store

Después de haber creado su archivo de certificación, puede cargarlo en Ionic Pro. Puede crear archivos .ipa con las credenciales adecuadas en la nube. Pero, lamentablemente, no encontré otra forma de cargar el archivo .ipa en App Store, solo con Application Loader de Mac.

Así que decidí usar una Mac de pago por uso en una cuenta en la nube (solo paga por los minutos que está conectado) ya que el tiempo que paso en Mac es muy limitado (pocos minutos por publicación de la aplicación).

gaborp
fuente
-7

Plataforma XAMARIN CROSS

Puede usar Xamarin, es una plataforma cruzada con IDE Visual Studio e integrar xamarin en él. Es muy simple codificar en xamarin y crear sus aplicaciones ios usando el código C #.

Abhishek Pathak
fuente
11
Sí, pero la compilación necesita una mac.
Maarten Peels