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?
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?
Respostas:
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.
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:
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.
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.
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).
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.
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
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".
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.
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.
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.
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:
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
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 .
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/
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. :-)
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. :)