Construir um aplicativo iOS sem possuir um mac? [fechadas]

96

Por favor me corrija se eu estiver errado.

Sou novo no desenvolvimento de dispositivos móveis e gostaria de desenvolver um aplicativo para enviar à Apple Store.

Mas estou muito desanimado com os preços dos macs para os quais estou desenvolvendo o aplicativo em mente.

Digamos que eu saiba exatamente o que quero e como codificá-lo.

Se eu fosse criar uma conta de desenvolvedor e pagar a taxa - então pegue emprestado o mac de meus amigos, escreva o código e envie meu código para a apple. É só para isso que preciso do mac? E então poderei acessar todas as estatísticas etc. através do iTunes no meu computador com Windows?

Alguém pode me dizer que estou delirando?

Cescy
fonte
2
pode ser alcançado da maneira que você está falando, mas pense nisso se o seu aplicativo precisar de alguma atualização, pequeno bug ou alterações, então? toda vez que você pedir um favor ao seu amigo?
D-eptdeveloper
5
Você precisa de um Mac para um desenvolvimento sério para iOS. Período. E eles não são tão caros, afinal. E não se esqueça de um punhado de dispositivos iOS para testar - aplicativos que não foram testados no hardware disponível geralmente apresentam deficiências.
Eiko
1
A parte delirante começa com "Eu sei como codificá-lo" ... se você codificar a si mesmo (ou seja, sem contrato de trabalho de terceiros), você precisará de muitos testes e depuração. Pense em algumas semanas para começar um projeto que vale a pena mostrar a alguém. Polir e torná-lo "digno de compra" será um trabalho difícil. Eu realmente só consigo pensar nos aplicativos mais inúteis (ou seja, "wrappers de sites") que são construídos em um dia em um Mac se você já for um desenvolvedor iOS experiente.
Eiko
É possível construir um conjunto de ferramentas iOS baseado em GCC no Linux. O Xcode não é um compilador - é necessário apenas para gerar os certificados para enviar seu aplicativo para a AppStore.
O Croissant Paramagnético de
2
Você pode pesquisar Hackintosh, que permite rodar Mac OS em processadores Intel, mas isso é ilegal, eu acho.
Borzh

Respostas:

31

Deixe-me dizer passo a passo alguns anos atrás, eu estava na mesma situação.

Portanto, temos duas fases

  1. Desenvolvimento de aplicativos para iPhone / iPad (iOS)
  2. Desenvolvimento e publicação de aplicativos para iPhone / iPad (iOS) na iTunes Store

1. Desenvolvimento de aplicativo para iPhone / iPad (iOS)

Então, se você deseja apenas desenvolver aplicativos para iOS, não quer pagar nada,

Você só precisa do Mac + XCode IDE

  1. Obtenha Mac Mini ou Mac Machine
  2. Criar conta de desenvolvedor na Apple é grátis
  3. Depois de fazer login na conta do desenvolvedor, você pode baixar o arquivo .dmg do IDE do Xcode
  4. Isso é tudo.

Agora basta instalar o Xcode e começar a desenvolver aplicativos iOS e testar / depurar com o Simulador ..

2. Desenvolvimento e publicação de aplicativos para iPhone / iPad (iOS) na iTunes Store

para publicar seu aplicativo na loja do iTunes, você precisa pagar (por exemplo, $ 99 / ano).

Então, para completar a configuração do desenvolvimento iOS, você precisa

  1. Obtenha Mac Mini ou Mac Machine
  2. Criar conta de desenvolvedor na Apple é grátis
  3. Depois de fazer login na conta do desenvolvedor, você pode baixar o arquivo .dmg do IDE do Xcode
  4. pague $ 99 para publicar aplicativos no iTunes
  5. crie seus certificados para desenvolvimento / distribuição em sua conta apple
  6. baixe todos os certificados na máquina mac e instale no XCode usando a ferramenta Keychain
  7. Obtenha pelo menos um dispositivo iOS
  8. Registre seu dispositivo em sua conta da apple
  9. Agora você pode desenvolver o aplicativo iOS, testar no Real Device e também publicar na iTunes Store
SwiftBoy
fonte
Verifique estes requisitos de iOS para Xamarin developer.xamarin.com/guides/cross-platform/getting_started/…
Jaider
Mas a questão afirma especificamente "sem possuir um mac?"…
PF4Public
27

Atualização de 09/2017

É possível desenvolver aplicativos iOS (e Android ao mesmo tempo) usando React Native + Expo sem possuir um mac. Você também poderá executar seu aplicativo iOS dentro do aplicativo iOS Expo enquanto o desenvolve. (Você pode até publicá-lo para outras pessoas acessarem, mas ele só será executado dentro do aplicativo Expo). Aqui está a página da Expo sobre como gerar um aplicativo independente.

Etapas dessa página:

Um : instalar expexecutandonpm install -g exp

Dois : Configure app.json (em algum lugar ao longo destas linhas):

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

Três : Comece o exppackeger comexp start

Quatro : correr exp build:androidou exp build:ios.

Você será solicitado a fornecer alguma entrada. Para Android você pode escolher1) Let Expo handle the process! se não tem armazenamento de chaves (ou se não sabe o que é). Para iOS, você terá que inserir suas credenciais de desenvolvedor Apple. Então você pode fornecer certificado de distribuição ou deixar que a Expo cuide disso.

Cinco : De vez em quando, você terá que voltar e executar o exp build:statuscomando para verificar se sua construção foi concluída. Se concluído, você receberá um link direto para .apkou.ipa arquivo.

A única desvantagem dessa abordagem é que ela não será tão nativa quanto escrever um aplicativo iOS em Swift, e você terá que enfrentar uma série de problemas que pode encontrar durante o desenvolvimento com js, npm e sua dependência fracamente digitados. problemas com a versão específica de alguma outra biblioteca e outras coisas.

seja o que for
fonte
Isso também é possível com outros frameworks, por exemplo, Qt e JavaFXPorts?
Daniel Ziltener
@DanielZiltener Não estou familiarizado com nenhum dos dois, mas acho que a resposta é não.
qualquer que seja,
26

No Windows, você pode usar o Mac em uma máquina virtual (provavelmente também funciona no Linux, mas não testei). Uma máquina virtual é basicamente um programa que você executa em seu computador e que permite executar um sistema operacional em uma janela dentro de outro. Certifique-se de ter pelo menos 60 GB de espaço livre no disco rígido. O disco rígido virtual que você vai baixar ocupa inicialmente 10 GB, mas quando você instala todos os programas necessários para desenvolver aplicativos iOS, seu tamanho pode facilmente aumentar para 50 GB (eu recomendo deixar alguns GBs de margem para o caso).

Aqui estão algumas etapas detalhadas para instalar uma máquina virtual Mac no Windows:

  1. Instale o VirtualBox .

  2. Você tem que habilitar a virtualização no BIOS. Para abrir o BIOS no Windows 10, você precisa começar pressionando a Shifttecla enquanto pressiona o botão Reiniciar no menu iniciar. Em seguida, você verá uma tela azul com algumas opções. Escolha "Troubleshoot", depois "Advanced options", depois "UEFI Firmware Settings" e depois "Restart". Em seguida, seu computador irá reiniciar e abrir o BIOS diretamente. Em versões mais antigas do Windows, desligue o computador normalmente, mantenha a F2tecla pressionada, inicie o computador novamente e não libere F2até que você esteja no BIOS. Em alguns computadores, pode ser necessário manter pressionada outra tecla que não seja F2.

  3. Agora que você está no BIOS, precisa habilitar a virtualização. A configuração que você deve alterar depende de qual computador está usando. Isso pode variar até mesmo entre dois computadores com a mesma versão do Windows. No meu computador, você precisa definirIntel Virtual Technology na Configurationguia como Enabled. Em outros computadores, pode ser, por exemplo, Security -> Virtualizationou em Advanced -> CPU Setup. Se você não conseguir encontrar nenhuma dessas opções, pesquise no Google por . Não mude nada no BIOS simplesmente assim ao acaso, porque caso contrário, pode causar problemas no seu computador. Depois de habilitar a virtualização, salve as alterações e saia do BIOS. Isso geralmente é feito na guia.enable virtualization (the kind of computer you have)Exit

  4. Baixe este arquivo (enviei o arquivo que baixei anteriormente de um link que agora está quebrado). Se o link quebrar, poste um comentário para me avisar e eu tentarei enviar o arquivo para outro lugar. A senha para abrir o arquivo 7Z é stackoverflow.com. Este arquivo 7Z contém um arquivo VMDK que atuará como o disco rígido para a máquina virtual Mac. Extraia esse arquivo VMDK. Se o espaço em disco for um problema para você, depois de extrair o arquivo VMDK, você pode excluir o arquivo RAR e, portanto, economizar 7 GB.

  5. Abra o VirtualBox que você instalou na etapa 1. Na barra de ferramentas, pressione o botão Novo. Em seguida, escolha um nome para sua máquina virtual (o nome não é importante, chamei-o de "Mac"). Em "Tipo", selecione "Mac OS X" e em "Versão" selecione "Mac OS X 10.11 El Capitan (64 bits)".

  6. Selecione a quantidade de memória que sua máquina virtual pode usar. Tente equilibrar a quantidade porque pouca memória resultará na máquina virtual com baixo desempenho e muita memória fará com que seu sistema host (Windows) fique sem memória, o que fará com que a máquina virtual e / ou outros programas que você está executando no Windows para travar. Em um computador com 4 GB de memória disponível, 2 GB era uma boa quantidade. Não se preocupe se você selecionar um valor incorreto, você poderá alterá-lo quando quiser (exceto quando a máquina virtual estiver funcionando).

  7. Na etapa do disco rígido, escolha "Usar um arquivo de disco rígido virtual existente" e clique no pequeno ícone de pasta à direita da lista suspensa. Isso abrirá uma janela de navegação. Selecione o arquivo VMDK que você baixou e extraiu na etapa 4.

    insira a descrição da imagem aqui

    Quando terminar, clique em "Criar".

  8. Selecione a máquina virtual na lista à esquerda da janela e clique no botão Configurações na barra de ferramentas. Em Sistema -> Processador, selecione 2 CPUs. Se você perceber mais tarde que selecionou uma quantidade de memória na etapa 6 que causa problemas, você pode alterá-la em Sistema -> Placa-mãe. Quando terminar de alterar as configurações, clique em OK.

  9. Abra o prompt de comando ( C:\Windows\System32\cmd.exe). Execute os seguintes comandos lá, substituindo "Your VM Name"por aquilo que você chamou de sua máquina virtual na etapa 5 (por exemplo "Mac") (mantenha as aspas):

    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" W1234567980
  10. Agora está tudo pronto para você usar a máquina virtual. No VirtualBox, clique no botão Iniciar e siga as instruções de instalação para Mac. Depois de instalar o Mac na máquina virtual, você pode desenvolver seu aplicativo iOS como se tivesse um Mac real.

Observação: Se você deseja economizar espaço em seu disco rígido, pode compactar o arquivo VMDK que extraiu na etapa 4 e utilizou na etapa 7. Para fazer isso, clique com o botão direito sobre ele, selecione Propriedades, clique em Avançado ... botão no canto inferior direito e marque a caixa de seleção "Compactar conteúdo para economizar espaço em disco". Isso fará com que esse arquivo muito grande ocupe menos espaço em disco, sem fazer com que nada funcione menos bem. Eu fiz isso e reduziu o tamanho do disco do arquivo VMDK de 50 GB para 40 GB sem perder nenhum dado.

Pato Donald
fonte
1
O Vm funciona bem. Mas é muito lento na minha máquina, que é uma máquina de jogos.
Reuel Ribeiro
@ReuelRibeiro Você pode querer verificar a configuração da sua máquina virtual para ter certeza de que está otimizada para o seu computador. Aqui está um artigo útil sobre o assunto: hanselman.com/blog/…
Technoguyfication
2
Na etapa 9, tive que adicionar VBoxManage setextradata "Your VM Name" "VBoxInternal / Devices / efi / 0 / Config / DmiSystemSerial" W1234567980 para conseguir fazer o login usando meu Apple ID
ikleiman
1
Embora isso possa funcionar, a versão mais recente do xcode não é compatível com IOS 10.11 (El Captain) que está atualmente no Google Drive. Você tem uma versão posterior do MacOS?
CularBytes
1
@RahulShah Você pode fazer qualquer coisa que faria em um Mac real.
Pato Donald
13

Você pode usar Phonegap (Cordova) para desenvolver aplicativos iOS sem um Mac, mas você ainda precisaria de um Mac para enviar seu aplicativo à App Store. Desenvolvemos um aplicativo em nuvem que também pode publicar seu aplicativo sem um Mac https://www.wenz.io/ApplicationLoader . Atualmente estamos em beta e você pode usar o serviço gratuitamente.

Atenciosamente, Steffen Wenz

(Sou o criador do site)

Steffen Wenz
fonte
1
Eu uso o carregador de aplicativos Wenz. Para isso criei um Apple ID especial apenas com permissão de upload. Uma vez que seu IPA deve ser assinado, ele ainda é seguro, mesmo se sua senha vazar.
user1219721
existe alguma maneira de gerar um arquivo IPA sem um mac para enviar aos seus serviços?
12 losangos na grade sem cantos
11

Resposta curta: teoricamente SIM, mas este deve ser um BOM amigo seu, mas, novamente, você pode preferir comprar um mac-mini usado

Resposta longa: Você precisará deste Mac por muito tempo, dependendo dos requisitos do seu aplicativo, suas habilidades de desenvolvimento e sua sorte com a Apple. por exemplo:

  1. Pode ser necessário alguns dias para configurar o Xcode e os SDKs e bibliotecas necessários.
  2. Pode levar algum tempo para obter essa conta de desenvolvedor, às vezes você pode esperar muito até para que sua solicitação seja analisada.
  3. Ao enviar sua inscrição pela primeira vez, você terá que esperar algum tempo, talvez várias semanas, ou até meses, para que seu aplicativo seja revisado.
  4. Cada vez que seu aplicativo for rejeitado, você precisará encontrar e corrigir seus problemas (sem muita ajuda da Apple, além de apontar a regra de diretriz que você quebrou), reaplicar seu aplicativo para revisão e esperar novamente.
  5. Cada vez que você tenta aplicar um patch para seu aplicativo já implantado, você terá que fazer com que seu aplicativo seja revisado e há uma chance de que seu aplicativo anteriormente legítimo, agora quebra uma nova diretriz, então você reaplica e espera

Portanto, pela minha experiência, o desenvolvimento de um aplicativo iOS é um procedimento muito demorado, sem nem mesmo considerar o tempo real de desenvolvimento do código. Você pode pegar emprestado um Mac por tanto tempo?

yannicuLar
fonte
Você e o outro cara esclareceram muito para mim, então eu agradeço
Cescy
1
De nada. A meu ver, um aplicativo iOS para um desenvolvedor inexperiente, é um tiro longo e um grande compromisso. Você pode começar com um aplicativo Android que custará US $ 25 (licença vitalícia do desenvolvedor).
yannicuLar
11

Atualizar o Intel XDK não está mais disponível.

Você pode usar Intel XDK com o qual você pode desenvolver e publicar um aplicativo para iOS sem o mac.

Clique aqui para detalhes.

Hemant Singh Rathore
fonte
10
Intel XDK faleceu ... RIP
Nowdeen
4

Além disso, se você quiser economizar algum dinheiro, não precisa comprar um Mac. Existem outras maneiras de fazer isso:

1.) Você pode usar praticamente qualquer sistema operacional para executar o MacOS mais recente na máquina virtual (veja no YouTube). Estou usando esse método há muito tempo sem problemas no Windows com VMWare.

2.) Hackintosh. Instale o MacOS no seu PC. Você deve ter componentes compatíveis, mas se tiver, esse é o melhor jeito, porque você elimina os lags na VM ... Estou usando isso neste momento. Perfeito. No meu laptop, mas por favor, não diga isso para a Apple, porque isso é praticamente ilegal

3.) Se você estiver fazendo aplicativos simples com IU mínima, você pode usar o Theos . Também com Theos você pode criar ajustes de cydia. Apenas um problema: codesign. Se você deseja publicar um aplicativo na App Store, você ainda deve ter MacOS, mas se você deseja fazer um aplicativo em casa, pode usar o CydiaImpactor para assinar os aplicativos com o Apple ID.

Usei todas essas formas e tudo está funcionando. By my VM é a melhor solução se você não quer perder muito tempo instalando Hackintosh.

Samuel Tulach
fonte
2

Você pode usar o Smartface para desenvolver seu aplicativo com javascript e implantar nas lojas diretamente sem um Mac. O que eles dizem está abaixo.

Com o módulo Cloud Build, o Smartface elimina todo o trabalho de implantação de aplicativos. Você não precisa se preocupar em gerenciar certificados de assinatura de código e ter um Mac para assinar seus aplicativos. Smartface Cloud pode armazenar todos os seus certificados iOS e keystores Android em um só lugar, e a assinatura e a construção são totalmente na nuvem. Não importa qual sistema operacional você usa, você pode obter binários prontos para armazenamento (ou distribuição corporativa). O Smartface libera você do bloqueio ao Mac e permite que você use seu sistema operacional favorito para desenvolvimento.

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

Tempeck
fonte
2

A maioria das estruturas, como React Native e Ionic, permite que você crie em seu servidor. O que significa que eles podem ajudá-lo a compilar e fornecer um arquivo .ipa.

O problema é que você precisa do Xcode ou do carregador de aplicativos para enviar seu aplicativo ao Apple App Store Connect. Ambos estão disponíveis apenas no OSX. Para superar esta solução, você tem 2 opções que conheço

  1. Alugue mac virtualmente. http://www.macincloud.com
  2. Use um site que ajuda você a fazer o upload do seu aplicativo (você precisa ter um arquivo .ipa). http://www.connectuploader.com
Valehelle
fonte
1

Minha experiência é que o Ionic Pro ( https://ionicframework.com/pro ) pode fazer o máximo do trabalho de desenvolvimento e publicação, mas você ainda precisa do Mac ou Mac na nuvem nestas etapas:

  • criar arquivo de certificação .p12
  • faça upload do arquivo .ipa para a App Store

Depois de criar seu arquivo de certificação, você pode carregá-lo no Ionic Pro. Você pode construir arquivos .ipa com credenciais adequadas na nuvem. Mas infelizmente não encontrei outra maneira de fazer o upload do arquivo .ipa para a App Store, apenas com o Application Loader do Mac.

Portanto, decidi usar um Mac pré-pago na conta na nuvem (você paga apenas pelos minutos em que está conectado), pois o tempo que gasto no Mac é muito limitado (alguns minutos por publicação do aplicativo).

gaborp
fonte
-7

Plataforma XAMARIN CROSS

Você pode usar o Xamarin, é uma plataforma cruzada com o IDE Visual Studio e integrar o xamarin a ele. É muito simples codificar no xamarin e fazer seus aplicativos ios usando código C #.

Abhishek Pathak
fonte
11
Sim, mas a compilação precisa de um mac.
Maarten Peels de