
Veremos neste documento como desenvolver aplicativos para os dispositivos da APPLE (iPhone, iPod Touch e iPad) sem a necessidade de obter o conjunto super proprietário (Mac OS X, Xcode e MacBook). Muitas pessoas inclusive instrutores de programação para o iPhone diziam ser impossível criar aplicações em ambientes não Mac. Mais impossível ainda com ferramentas de código aberto.
Embora seja um desenvolvedor Android, questionamento surgiram, pois já instalaram o Android no iPhone..., o processador do iPad A4 é baseado no Cortex-A8 que no fundo pertence a arquitetura ARM. No site
UBM TechInsights podemos obter o RAIO-X na CPU do processado A4 e perceber "a semelhança total" com o núcleo do Samsung S5PC110A01. Então é fácil concluir que o processador do iPad A4 = ARM Cortx A8 (45 nm) = ARM.
Foi assim que comecei a minha jornada para a compilação cruzada de aplicativos escrito em C/C++ e Obj-C para os dispositivos da APPLE.
Aproveito este artigo para divulgar um appliance Linux baseado no openSUSE que criei para os interessados no desenvolvimento de software para o iPhone utilizando ferramentas open-source e não tem tempo para ficar resolvendo e compilando dependência, como também compatibilidade do mesmo com o seu sistema atual. Este projeto chama-se
LiMobile, esta iniciativa nasceu das minhas pesquisas, como também da necessidade de carregar um live CD ou um pendrive com um sistema composto de todo SDK open souce para dispositivos portáteis APPLE.
A mágica para chegar ao resultado final está na pesquisa e no agrupamentos de muitas ferramentas de código aberto, mas em especial vale a pena mencionar o llvm-gcc e o iphonedevonlinux.
O LLVM, Low Level Virtual Machine, é uma infraestrutura de compilação, seguinte (LATTNER, C, 2006), proporciona componentes modulares e reaproveitáveis para construção de compiladores, assim, reduzindo o tempo e custo para construir um compilador particular. O llvm-gcc. Ele é uma versão do gcc que compila programas C/ObjC em objetos nativos, bitcode LLVM (binário), ou em linguagem assembly LLVM (texto) (LLVM TEAM, 2009).
O pacote iphonedevonlinux não passa de um script que faz o download e processa todos os códigos fontes possíveis e imagináveis para compilar o compilador arm-darwin-gcc. A principal vantagem do LiMobile, além de possuir os pacotes com a versão são exata, dispensa horas de download durante a compilação, sendo assim, é efetuado o download apenas dos pacotes proprietários para não violar os licenciamentos da APPLE.
Abaixo um screenshot do boot da imagem do projet LiMobile.