Iniciar o desenvolvimento de aplicativos de iPhone no Linux? [fechado]

Ouvi dizer que precisas de um Mac Se quiseres desenvolver aplicações para iPhones. É verdade?

é possível desenvolver aplicativos de iPhone usando Linux? Em caso afirmativo, de que preciso e onde descarrego as ferramentas necessárias?

 493
Author: James Webster, 2008-11-10

17 answers

Para fornecer uma resposta diferente, estou a correr o OS X e o Xcode numa máquina virtualizada (VMware) no Linux. CPU é um Core2Quad (Q8800), e é perfeitamente rápido. I found a prebuilt VM online (i'll leave it to you to find) O desenvolvimento do Xcode / iPhone funciona perfeitamente, assim como a depuração via USB para o próprio telefone.

Na verdade, surpreendeu - me muito, mas não tive problemas nenhuns.
 284
Author: Chaos, 2011-10-28 21:13:27

A resposta a isso realmente depende se você quer ou não desenvolver aplicativos que são distribuídos através da loja de iPhones. Se você não o fizer, e não se importa de desenvolver para a multidão "jailbroken" do iPhone - então é possível desenvolver a partir do Linux.

Veja na página deste capítulo um guia abrangente (se um pouco complexo) sobre o que fazer :

Http://www.saurik.com/id/4

 75
Author: GodEater, 2008-11-10 07:57:00
Até agora, parece ser verdade. O único SDK disponível da Apple apenas tem como alvo o ambiente MacOS. Tenho estado chateado com isso, mas estou a pensar comprar um mac agora, só para fazer o desenvolvimento do iPhone. Eu realmente não gosto do que eles estão fazendo, e eu espero que um bom SDK saia para outros ambientes, como Linux e Windows. Aqui está um artigo sobre a sua descoordenação geral em relação ao SDK:

O SDK do iPhone e o software livre: não corresponde

A Apple lançou recentemente um kit de desenvolvimento de software (SDK) para o iPhone, mas se você estava esperando para portar ou desenvolver software de código aberto original com ele, a notícia não é boa. A assinatura de código e as condições de não divulgação fazem do software livre um "NO-go".

O SDK em si é um download gratuito, com o qual você pode escrever programas e executá-los em um simulador de software. Mas a fim de realmente liberar software que você escreveu, você deve se inscrever no Programa de desenvolvimento de iPhone -- um passo separado a partir do download do SDK, e um que requer a aprovação da Apple.

Eu acho que é bastante elitista para eles pensar que apenas os usuários de macos são bons o suficiente para escrever programas para seu telefone, e o fato de que você precisa comprar uma licença de $100 se você quiser publicar suas coisas, realmente torna mais difícil para o programador hobby. No entanto, se é isso que você precisa fazer, eu estou planejando saltar através de seus arcos; eu realmente gostaria de ter algumas coisas desenvolvidas no meu iPhone.

 23
Author: stephenbayer, 2013-12-06 13:41:15

Havia um projecto dedicado a resolver este defeito: iphone-dev

O objectivo do projecto iphone-dev é criar uma ferramenta Livre, portátil e de alta qualidade para permitir o desenvolvimento do iPhone Apple e de outros dispositivos incorporados com base na plataforma ARM/Darwin.

 20
Author: Johan Boulé, 2016-05-08 17:07:22

Em relação à cadeia de ferramentas alternativa, o site da Saurik é útil, mas para o mais recente desenvolvimento de firmware ele indica construir no próprio iPhone e permanece claro de indicar que você pode precisar copiar os arquivos de firmware necessários para o seu ambiente Linux. Não é impossível, mas apenas requer trabalho adicional, especialmente para assinar o código (existem soluções alternativas abertas lá fora também).

Além disso, dê uma olhada em outros guias (para a mesma cadeia de ferramentas) que abordam mais metodicamente. [[[1]} eu sugeriria ainda fazer a compilação final, assinatura de código e embalagem no XCode (o que pode significar pedir emprestado o Mac de alguém) no caso de você encontrar problemas ao enviar a aplicação para a Apple. Usando a cadeia de ferramentas alternativa abre - se (pelo menos no Mac) a possibilidade de usar outros IDEs que não o XCode para desenvolver a aplicação e novamente recorrer ao XCode para a implantação e teste com o simulador.

Claro que se conseguires o código geração de assinatura / certificado trabalhando a partir da linha de comandos fora do XCode, então você pode instalar um certificado no seu iPhone real e testar lá (instalar o aplicativo através do iTunes w/seu certificado).

 11
Author: dljava, 2016-07-14 10:12:55

A única maneira que eu sei de fazer o desenvolvimento em Linux para o iPhone seria instalar Vmware e trabalhar em fazer o OS X funcionar em uma máquina virtual. Com isso dito, há algumas preocupações "legais" em fazer isso. It is reported that OS X Server can be virtualized but as far as the development story on that I don't know.

Se estás a falar a sério, é isso que eu investigaria. Boa sorte.
 7
Author: Keith Elder, 2011-10-28 21:13:51

Você pode ser capaz de escrever código em uma caixa Linux que acabará por se encontrar em um iPhone ou iPad, mas, em última análise, você precisa de um Mac para testar ou implantar o código para o iPhone ou para enviá-lo para a App store. Então, em última análise, você precisa de um Mac, então você pode muito bem fazer o trabalho no Mac também, com todas as ferramentas que a Apple fornece. Existem alternativas ao Xcode & Objective-C, como Monotouch - mas estes utilizam as ferramentas Apple também.

Pode-se com algum trabalho executar OS X em um VM no Linux. No entanto, devo salientar que isso vai quebrar o Acordo de licença OSX, mesmo se você comprar a cópia do OSX - como ele só é licenciado para correr em Apple hardware.

Desculpe dar-lhe esta notícia - o ecossistema em torno do iPhone / iPad é muito bem controlado.

Editar: uma grande excepção a isto é escrever uma aplicação web para o iPhone. Existem alguns excelentes aplicativos web para o iPhone que são quase tão bons quanto a experiência do usuário como um aplicativo nativo. No entanto eu interpretei a sua pergunta é sobre desenvolvimento de aplicações nativas. Aplicativos Web, embora o usuário possa criar um ícone para lançá-los-ainda são cidadãos de "segunda classe".

 5
Author: iandotkelly, 2011-10-28 21:14:21

Você pode usar Tersus (código aberto), e permite-lhe exportar a aplicação como um projecto Xcode.

 4
Author: Ofer Brandes, 2010-02-24 13:16:24
Há uma estrutura chamada Rhodes.

O conceito é baseado em Ruby on Rails e você desenvolve o seu aplicativo móvel em Ruby e HTML, e você pode escrever o seu código em um ambiente Linux. Você pode então criar uma conta em Rhohub, onde você adiciona o código (através de GitHub), e ele permite que você compile para iPhone, Blackberry, Android, Windows Mobile e Symbian, todos fora do mesmo código. Você não tem que codificar em Objective-C Para iPhone, nem Java para Android, etc. Faz as conversões para ti. Tudo que você precisa fazer é manter as regras para a criação de um aplicativo de iPhone (ou do telefone que você deseja desenvolver) para que ele possa ser aceito no iTunes (ou no mercado equivalente).

Isto irá permitir-lhe adicionar a aplicação ao iTunes também.

Eu não encontrei nenhum emulador, no entanto, o que significa que para testar o seu aplicativo você precisa colocá-lo em um iPhone, que é uma missão.

Estou a usar esta opção porque quero criar aplicações para todos os telefones e eu usa o Rubi nos carris. Se você só quer fazer um aplicativo para um iPhone, então invista em um Mac.

Espero que isto ajude.
 3
Author: Theo Scholiadis, 2011-08-28 09:58:01

Eu tive sucesso na criação de aplicações iOS no linux usando a montagem de ferramentas iOS clang por cjacker. Basicamente, consiste nas Ferramentas upstream clang e llvm de sua distribuição linux, uma porta linux do linker da apple e algumas ferramentas extras para ajudar a simplificar o processo de construção (como a conversão de projetos xcode para o formato Makefile).

Isso leva alguns passos para instalar, mas você é um desenvolvedor de software, então você estaria acostumado a isso. Eu postei um howto atualizado para o Debian 7 (Wheezy) online:

Http://www.ninthavenue.com.au/how-to-build-an-ios-toolchain-for-linux-debian-7

Caso contrário, quer seguir as instruções genéricas que são um pouco mais antigas:

Http://code.google.com/p/ios-toolchain-based-on-clang-for-linux/wiki/HowTo_en

Boa sorte.
 3
Author: Roger Keays, 2015-04-03 20:43:16
Tens razão, os telemóveis não-presos estão limitados à loja de aplicações da Apple e a Apple "tem o direito" de fazer cumprir qualquer regra, é um território totalmente não-livre. No entanto, ao desenvolver-se, não terá que lidar com a Apple em tudo. Você pode usar, por exemplo, rsync para carregar o código para o dispositivo e testá-lo.
 1
Author: Johan Boulé, 2010-01-21 22:58:15
Até certo ponto, sim, é possível. Você pode digitar o código Objective-C e configurar seus projetos. Você pode até mesmo testar as partes C E C++ de seu código com gcc.

O que não podes fazer:

  • Use O Construtor de interfaces para configurar a sua interface, uma vez que é apenas Mac. (Não exigido, mas recomendado.)
  • Compile o código que usa as classes de cacau da Apple-elas não existem no Linux.
  • Código de teste no simulador - não há um Para Linux.
  • Código de compilação para dispositivos reais ou para a App Store-tudo isto requer ferramentas que a Apple só fornece para o OS X.
 1
Author: CajunLuke, 2011-08-21 14:09:18
Tens de ir buscar o mac. Existem várias cadeias de ferramentas disponíveis (como win-chain) que realmente lhe permite escrever e construir aplicações de telefone i no windows. Existem vários tutoriais associados para construir o código Objective C no Windows. Mas há um problema, os aplicativos desenvolvidos, portanto, vai trabalhar em cadeia quebrado I telefones apenas. Já vimos poucos hacks para superar isso e chegar à App Store, mas como a Apple continua atualizando SDKs, as cadeias de ferramentas precisam de atualizações regulares. É um é difícil compensá-lo a toda a hora.Se você quiser se preparar app você também pode receber ajuda de arcapps seus aplicativos de lançamentos a um preço razoável. desenvolvimento de aplicações para iphone
 1
Author: Isabella Jacob, 2011-10-28 21:15:32

Eu fiz uma tentativa de portar o cocos2d-iphone para o GNUstep para que você possa desenvolver o jogo baseado no Cocos 2D. contudo, para publicar, você precisa de um mac. cocos2d-GNUstep .

 1
Author: user602592, 2013-06-15 05:29:34
Eu recomendaria um mac porque o simulador ios é incrível para testes nas fases iniciais de uma aplicação. Mas conheço uma pequena empresa com quem trabalhamos que se desenvolve usando a unidade para que não precisem de uma carga de macs. Assim só precisam de um mac para o escritório e isso é só para compilar a compilação final. Também significa que funciona em android, mas realmente depende do que o seu edifício, porque é um motor de jogos. Você pode querer olhar para aplicações web usando frameworks como o Sencha Touch Móvel

Unidade: http://unity3d.com/ Toque Sencha: http://www.sencha.com/products/touch/

 0
Author: dciso, 2011-08-21 14:19:51
Se dá valor ao seu tempo, compre um Mac! Eu não sei o suficiente sobre opções de desenvolvimento Linux para oferecer uma solução viável, mas parece que os métodos propostos envolvem algum trabalho bastante rotunda. Se você planeja seriamente escrever e vender aplicativos de iPhone, eu acho que você poderia facilmente recuperar o custo de um Mac Mini ou Macbook. :-)
 -4
Author: Ben Gotow, 2009-07-13 23:08:37

Nunca obterá a aprovação da sua aplicação pela Apple se esta não for desenvolvida usando o Xcode. Nunca. E se você hackear o SDK para se desenvolver no Linux e a Apple descobrir, não se surpreenda quando você é servido. Eu sou um membro do ADC e do programa de desenvolvimento de iPhone. Confiança, a Apple leva isto muito a sério.

Não corra o risco, compre um Macbook ou Mac mini (sim, um mini pode correr Xcode - embora lentamente - aumentar a RAM se você vai com o mini). Além disso, enquanto vi o OS X hackear para continuar VMware nunca vi ninguém a correr Xcode em VM. Então, boa sorte. E eu verificava a EULA antes de te dares ao trabalho.

PS: depois de ler o acima, SIM, eu concordo se você hackear o SDK e desenvolver no Linux pelo menos fazer a embalagem final em um Mac. E submetê-lo através de um Mac. A Apple não passa pelo Código linha a linha, por isso duvido que percebam isso. Mas meu, isso é muito dinheiro e trabalho. Vai ser divertido. :)

 -5
Author: Stephen Cox, 2011-10-28 21:15:04