Iniciando o desenvolvimento de aplicativos para iPhone no Linux? [fechadas]


529

Ouvi dizer que você precisa de um Mac se quiser desenvolver aplicativos para iPhone. Isso é verdade?

É possível desenvolver aplicativos para iPhone usando Linux? Em caso afirmativo, do que preciso e onde faço o download das ferramentas necessárias?



2
alguém pode editar este s / Linux / unix para generalizá-lo?
Boa Pessoa

5
@ GoodPerson Então, você estaria desfocando a linha entre o OS X e outros sistemas operacionais, que é essa a questão.
Sr. Lister

2
uma das informações mais importantes que já encontrei. absolutamente in-tópico, eu diria ...
Marco Faustinelli

Respostas:


303

Para fornecer uma resposta diferente, estou executando o OS X e o Xcode em uma máquina virtualizada (VMware) no Linux. A CPU é um Core2Quad (Q8800) e é perfeitamente rápida. Encontrei uma VM pré-construída on-line (deixarei para você descobrir) O desenvolvimento do Xcode / iPhone funciona perfeitamente, assim como a depuração via USB no próprio telefone.

Na verdade, isso me surpreendeu muito - mas não tive nenhum problema.


11
Então, usando sua abordagem, você pode assinar e distribuir no iTunes?
Eldelshell

43
Sim - sem problemas. Você está usando o XCode, a assinatura funciona bem, agora eu tenho um aplicativo de produção na loja, enviado pela VM. Não vou nomear por razões óbvias.
Chaos em Caos

18
@Chaos: Você poderia postar links para o que exatamente você usou para executar sua instalação?
glicanos

4
Uma VM pré-construída pode ser confiável? Eu quero dizer Softwares culpados incorporados, backdoors ...
DummyBeginner /

2
Está bem. Minha opinião sobre isso. Depois de ter desenvolvido o aplicativo, você pode usar este serviço para publicar macincloud.com
Fabrizio Bertoglio

75

A resposta para isso realmente depende se você deseja ou não desenvolver aplicativos que são distribuídos na loja do iPhone. Se não o fizer, e não se importe em desenvolver para o público "desbloqueado" do iPhone - é possível desenvolver a partir do Linux.

Consulte a página deste capítulo para obter um guia abrangente (se um pouco complexo) sobre o que fazer:

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


26

Parece ser verdade até agora. O único SDK disponível na Apple é direcionado apenas ao ambiente MacOS. Fiquei chateado com isso, mas estou pensando em comprar um mac agora, apenas para desenvolver o iPhone. Eu realmente não gosto do que eles estão fazendo, e espero que um bom SDK seja lançado para outros ambientes, como Linux e Windows.

Obstáculos ao SDK:

O SDK do iPhone e o software livre: não são compatíveis

A Apple lançou recentemente um kit de desenvolvimento de software (SDK) para o iPhone, mas se você esperava portar ou desenvolver um software de código aberto original com ele, as notícias não são boas. As condições de assinatura de código e não divulgação tornam o software livre um impedimento.

O SDK em si é um download gratuito, com o qual você pode escrever programas e executá-los em um simulador de software. Mas, para realmente lançar o software que você escreveu, você deve se inscrever no iPhone Developer Program - uma etapa separada do download do SDK e uma que requer a aprovação da Apple.

Eu acho que é bastante elitista para eles pensarem que apenas os usuários de macos são bons o suficiente para escrever programas para seus telefones, e o fato de você precisar comprar uma licença de US $ 100 se quiser publicar suas coisas realmente torna mais difícil para o programador amador. Porém, se é isso que você precisa fazer, estou pensando em pular os aros deles; Eu realmente gostaria de desenvolver algumas coisas no meu iPhone.


9
Como já foi dito antes, não acho que seja elitismo culpado aqui. O XCode e todas as demais ferramentas de desenvolvimento (com exceção de itens de baixo nível, como o GCC) são gravados no Cocoa, assim como todas as estruturas do iPhone. Eles precisariam portar tudo isso para outros sistemas operacionais primeiro. Essa não é uma tarefa pequena.
Brad Larson

24
Deixe-me saber quando a Microsoft lançar o Visual Studio para Linux e Mac ...
Stephen Darlington

12
Avise-me quando a Microsoft lançar o Visual Studio, Access, Frontpage, XNA, DirectX, Office (com todos os recursos), Movie Maker, Visio, IIS ou Exchange para Mac / Linux.
Brock Woolf

97
Avise-me quando a Microsoft se opor ao EULA para executar o Visual Studio, Access, Frontpage, XNA, DirectX, Office, Movie Maker, Visio, IIS ou Exchange no (Dar) Wine.
28610 lfaraone

5
@MarceloMason Kind of. É o código do Visual Studio , não o IDE completo.
Stephen Darlington

20

Não costumava ser um projecto dedicado para resolver este defeito: iphone-dev

O objetivo do projeto iphone-dev é criar uma cadeia de ferramentas gratuita, portátil e de alta qualidade para permitir o desenvolvimento do Apple iPhone e outros dispositivos embarcados baseados na plataforma ARM / Darwin.


4
O projeto não parece estar passando por desenvolvimento ou manutenção regular do site (por exemplo, as entradas do Wiki na criação da ferramenta / portabilidade são de fevereiro de 2010).
Ely

4
@Senhor. F, de fato está morto.
Johan Boulé

13

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

Além disso, dê uma olhada em outros guias (para a mesma cadeia de ferramentas) que se aproximam mais metodicamente.

Sugiro que ainda faça a compilação final e a assinatura e o empacotamento de código no XCode (o que pode significar emprestar o Mac de alguém), caso você tenha problemas ao enviar o aplicativo à Apple. O uso da cadeia de ferramentas alternativa abre (pelo menos no Mac) a possibilidade de usar outros IDEs que não sejam o XCode para desenvolver o aplicativo e recorrer novamente ao XCode para a implantação e teste com o simulador.

Obviamente, se você conseguir que a geração de código / assinatura de código funcione na linha de comando fora do XCode, poderá instalar um certificado no seu iPhone real e testá-lo (instalando o aplicativo via iTunes com seu certificado).


7

A única maneira que eu sei de desenvolver o Linux para o iPhone seria instalar o Vmware e trabalhar para que o OS X fosse executado em uma máquina virtual. Com isso dito, existem algumas preocupações "legais" em fazer isso. É relatado que o OS X Server pode ser virtualizado, mas até onde sei a história de desenvolvimento.

Se você é realmente sério, é isso que eu investigaria.

Boa sorte.


4
Eu tentei a opção VMWare e, pelo menos no meu hardware (T5200 Core2, 2M de RAM), é inusitavelmente lento. Meu amigo teve uma experiência semelhante.
Parand

3
Eu também. Devagar, devagar, devagar. Você nem quer tentar.
Nosredna

5
@Parand É claro que será lento com 2M de RAM, estou surpreso que até seja inicializado!
precisa saber é o seguinte

2
Você pode tentar o VirtualBox em vez do vmware. O VMWare está muito inchado na minha opinião.
Harindaka 17/05

5

Você pode usar o Tersus (código aberto) e permite exportar o aplicativo como um projeto do Xcode.


Tersus Studio generates native iPhone applications in the form of Xcode projects that you can compile and sign using Apple's iPhone SDK.Portanto, ele não será capaz de cumprir e assinar um aplicativo iOS nativo
MarSoft

5

Você pode escrever código em uma caixa Linux que acabará se encontrando em um iPhone ou iPad, mas, em última análise, seria necessário um Mac para testar ou implantar o código no iPhone ou enviá-lo à App Store. Então, em última análise, você precisa de um Mac, para que também possa fazer o trabalho no Mac, com todas as ferramentas fornecidas pela Apple. Existem alternativas ao Xcode & Objective-C, como o Monotouch - mas elas também utilizam as ferramentas da Apple.

Você pode, com algum trabalho, executar o OS X em uma VM no Linux. No entanto, devo salientar que isso violará o contrato de licença do OSX, mesmo se você comprar a cópia do OSX - pois ele só é licenciado para ser executado no hardware da Apple.

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

EDIT: Uma grande exceção a isso é escrever um aplicativo da web para o iPhone. Existem alguns aplicativos da Web excelentes para o iPhone, que são quase tão bons quanto a experiência do usuário que um aplicativo nativo. No entanto, interpretei sua pergunta como sendo sobre o desenvolvimento de aplicativos nativos. Os aplicativos da Web, embora o usuário possa criar um ícone para iniciá-los - ainda são cidadãos de "segunda classe".


4
Embora possa ser permitido executar o Lion na virtualização se você estiver executando o Linux em um Mac.
Cajunluke

4

Tive sucesso ao criar aplicativos iOS no linux usando o iOS clang toolchain da cjacker . Basicamente, ele consiste nas ferramentas upstream clang e llvm da sua distribuição linux, uma porta linux do vinculador da apple e algumas ferramentas extras para ajudar a simplificar o processo de compilação (como a conversão de projetos xcode para o formato Makefile).

São necessários alguns passos para instalar, mas você é um desenvolvedor de software e está acostumado a isso. Postei um howto atualizado para o Debian 7 (Wheezy) on-line:

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

Caso contrário, você deseja seguir as instruções genéricas um pouco mais antigas:

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

Boa sorte.


2

Existe uma estrutura chamada Rhodes .

O conceito é baseado no Ruby on Rails e você desenvolve seu aplicativo móvel em Ruby e HTML e pode escrever seu código em um ambiente Linux. Você pode criar uma conta no Rhohub , onde adiciona o código (por meio do GitHub ) e permite compilá-lo para iPhone, Blackberry, Android, Windows Mobile e Symbian, todos com o mesmo código. Você não precisa codificar no Objective-C para iPhone, nem Java para Android, etc. Ele faz as conversões para você. Tudo o que você precisa fazer é seguir as Regras para criar um aplicativo para iPhone (ou o telefone para o qual deseja desenvolver) para que ele possa ser aceito no iTunes (ou no mercado equivalente).

Isso permitirá que você adicione o aplicativo ao iTunes também.

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

Estou usando esta opção, pois quero criar aplicativos para todos os telefones e já uso o Ruby on Rails. Se você deseja criar um aplicativo para iPhone, invista em um Mac.

Espero que isto ajude.


1

Você tem razão: os telefones sem jailbreak são limitados à App Store da Apple e a Apple "tem o direito" de impor qualquer regra, é um território totalmente livre. No entanto, enquanto estiver desenvolvendo, não será necessário lidar com a Apple. Você pode usar, por exemplo, rsync para carregar o código no dispositivo e testá-lo.


Este projeto supera o problema que Stephen Cox apresentou? "Você nunca obterá seu aplicativo aprovado pela Apple se não for desenvolvido usando o Xcode. Nunca. E se você hackear o SDK para desenvolver no Linux e a Apple descobrir" Obrigado
embora seja verdade

O libmobiledevice realmente possui uma interface decente para instalar aplicativos sem precisar do rsync / ssh em um iDevice.
Dwight Spencer

1

Até certo ponto, sim, é possível. Você pode digitar o código Objective-C e configurar seus projetos. Você pode até testar as partes C e C ++ do seu código com o gcc.

O que você não pode fazer:

  • Use o Interface Builder para configurar sua interface, pois é apenas para Mac. (Não é necessário, mas recomendado.)
  • Código de compilação que usa as classes Cocoa da Apple - elas não existem no Linux.
  • Código de teste no Simulador - não existe um para Linux.
  • Compile código para dispositivos reais ou para a App Store - tudo isso requer ferramentas que a Apple fornece apenas para o OS X.

quando você diz que as aulas não existem, o que você quer dizer? Eu só preciso dos cabeçalhos, a Apple o vinculará para mim de qualquer maneira. É assim que o envio de aplicativos funciona, AFAIK.
Janus Troelsen

1

Você precisa obter mac para isso. Existem várias cadeias de ferramentas disponíveis (como win-chain) que permitem escrever e criar aplicativos do i Phone no Windows. Existem vários tutoriais associados para criar o código do Objective C no Windows. Mas há um problema, os aplicativos desenvolvidos serão funcionados apenas em i Phones quebrados na cadeia.

Vimos alguns 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 aborrecimento para compensar o tempo todo. Se você deseja preparar o aplicativo, também pode obter ajuda da arcapps, lança aplicativos a um preço razoável. desenvolvimento de aplicativos para iphone


1

Fiz uma tentativa de portar o cocos2d-iphone para o GNUstep para que você possa desenvolver um jogo baseado no cocos2d. No entanto, para publicar, você precisa de um mac. cocos2d-GNUstep .


0

Eu recomendaria comprar um mac, porque o simulador ios é incrível para testes nos estágios iniciais de um aplicativo. Mas conheço uma pequena empresa com a qual trabalhamos que se desenvolve usando o Unity para que eles não precisem de um monte de macs. Dessa forma, eles precisam apenas de um mac para o escritório e isso é apenas para compilar a versão final. Também significa que funciona no Android, mas realmente depende do que o seu prédio é porque é um mecanismo de jogos. Convém procurar aplicativos da Web usando estruturas como o Sencha Touch Mobile

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


-5

Se você valoriza seu tempo, compre um Mac! Eu não sei o suficiente sobre as opções de desenvolvimento do Linux para oferecer uma solução viável, mas parece que os métodos propostos envolvem algum trabalho indireto. Se você planeja escrever e vender seriamente aplicativos para iPhone, acho que você pode facilmente recuperar o custo de um Mac Mini ou Macbook. :-)


4
Agora que existem 50.000 aplicativos, não é necessariamente fácil ganhar muito. Os dias de salada talvez se foram.
31909

@Nosredna Eu gosto de acreditar que os dias de salada estão aqui novamente. Mas sério, você está certo.
Wyatt8740

Cara, se estamos procurando uma alternativa, é porque comprar uma não é uma opção disponível.
Roger Russel

-5

Você nunca terá seu aplicativo aprovado pela Apple se não for desenvolvido usando o Xcode. Nunca. E se você hackear o SDK para desenvolver no Linux e a Apple descobrir, não se surpreenda quando for atendido. Sou membro do programa de desenvolvedor do ADC e do iPhone. Confie, a Apple é muito séria sobre isso.

Não se arrisque, compre um Macbook ou Mac mini (sim, um mini pode executar o Xcode - embora lentamente - aumente a RAM se você for com o mini). Além disso, enquanto eu vi o OS X invadido para rodar no VMware, nunca vi alguém executando o Xcode na VM. Então boa sorte. E eu verificaria o EULA antes de passar pelo problema.

PS: Depois de ler o acima, sim, eu concordo. Se você hackear o SDK e desenvolver no Linux, pelo menos faça o empacotamento final em um Mac. E envie-o através de um Mac. A Apple não percorre o código linha por linha, então eu duvido que eles entenderiam isso. Mas cara, isso é muito se e trabalho. Seja divertido de fazer. :)


1
Novos minis são bons para a tarefa. Eu acho que eles custam cerca de US $ 600 e você pode usar praticamente qualquer mouse, teclado e monitor. Certifique-se de calibrar o monitor! O XCode parece funcionar muito bem no meu mini não expandido.
Nosredna

7
O Xcode funciona bem em uma máquina virtual Mac OS X.
dave1010

2
A Apple aprova aplicativos Air SDK o tempo todo, sem interação com o XCode. Você pode fazer a compilação inteira no linux / windows.
j_mcnally
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.