Criando aplicativos para o Mac OS X no GNU/Linux

Veremos neste documento, como criar aplicativos para o pacote super-proprietário da Apple MacOS X de maneira simples e objetiva. Pois não é qualquer usuário que pode se dar ao luxo de possuir um MacBook apenas para criar programas compatível com Mac OS X.

[ Hits: 18.055 ]

Por: Alessandro de Oliveira Faria (A.K.A. CABELO) em 31/05/2011 | Blog: http://assuntonerd.com.br


Introdução, download e execução



Introdução: Neste documento disponibilizo de maneira objetiva e clara, de como criar aplicativos para o pacote super-proprietário da Apple MacOS X. Como não é qualquer usuário que pode se dar ao luxo de adquirir um MacBook apenas para criar programas compatíveis, acredito que este texto será de grande utilidade.

Compilação cruzada é a técnica capaz de criar códigos binários para uma plataforma de hardware e software diferente do ambiente no qual o compilador esta instalado. Ou seja, no ambiente GNU/Linux seremos capazes de criar binários para o Mac OS. Abaixo os requisitos de software para efetuar toda a compilação com sucesso.

Requisitos:

Antes de iniciarmos, devemos obter os itens abaixo. Ressalto que o SDK do Mac OS X deve ser obtido diretamente no site da Apple por questões de licenciamento.
Instalação e configuração:

Primeiramente devemos descompactar o pacote odcctools mencionado anteriormente e também disponibilizado o link para download.

# tar -jxvf odcctools-20090808-gcc-5247-bin.tar.bz2 -C /

Na próxima etapa devemos converter a imagem DMG do SDK da Apple para IMG com o utilitário dmg2img:

# dmg2img xcode_2.2.1_8g1165_018213632.dmg
dmg2img v1.6.1 is derived from dmg2iso by vu1tur (to@vu1tur.eu.org)
xcode_2.2.1_8g1165_018213632.dmg --> xcode_2.2.1_8g1165_018213632.img
reading property list, 5740 bytes from address 863457792 ...
decompressing:
opening partition 0 ... 100.00% ok
opening partition 1 ... 100.00% ok
opening partition 2 ... 100.00% ok
opening partition 3 ... 100.00% ok
Archive successfully decompressed as xcode_2.2.1_8g1165_018213632.img


Após a conversão, monte a imagem recém-criada no seu sistema de arquivos, não esqueça de carregar o módulo do kernel hfsplus.

# modprobe hfsplus
# mount -t hfsplus -o ro,loop xcode_2.2.1_8g1165_018213632.img /mnt


Agora copie o arquivo Archive.pax.gz para a pasta /opt/mac/SDKs e utilize o comando gunzip junto ao pax para descompactá-lo.

# cp /mnt/Packages/MacOSX10.4.Universal.pkg/Contents/Archive.pax.gz /opt/mac/SDKs
# cd /opt/mac/SDKs
# gunzip -c Archive.pax.gz | pax -r


Para finalizar a configuração do ambiente, insira o caminho da pasta bin na variável ambiental PATH ou se preferir utilize o comando abaixo:

# PATH=$PATH:/opt/mac/bin

Compilando um programa para o MAC

Para a brincadeira ficar divertida, compilaremos o md6sum disponível no SourceForge. Faça o download do código fonte e descompacte com o tradicional comando tar -zxvf e logo em seguida entre na pasta.

Link para download:
# tar -zxvf ../md6sum-1.0.tar.gz
# cd md6sum-1.0/


Para compilar o md6sum para utilizar o comando abaixo:

# i686-apple-darwin8-gcc -isysroot /opt/mac/SDKs/Developer/SDKs/MacOSX10.4u.sdk md6sum.c md6_nist.c md6_mode.c md6_compress.c -o md6sum

Agora para finalizar, confira se o binário foi criado corretamente:

# file md6sum
md6sum: Mach-O executable i386

Espero que este documento simples e objetivo ajude a instalação e configuração do ambiente de desenvolvimento para Mac OS. Como sempre menciono... Colaborar atrai amigos, competir atrai inimigos...
Para encerrar, críticas e sugestões: cabelo@opensuse.org

Sobre o autor: http://pt.opensuse.org/Utilizador:Cabelo

   

Páginas do artigo
   1. Introdução, download e execução
Outros artigos deste autor

OneAPI: A plataforma da Intel para facilitar o desenvolvimento com chips Intel, AMD, ARM, NVIDIA POWER e FPGA

Bioloid Control: Robótica virtual em Linux

Apache Cassandra NoSQL, uma tecnologia emergente

Como fazer um servidor de rádio virtual

Detectando assalto na multidão com visão computacional

Leitura recomendada

Programando com uma granada de mão: uma visão da linguagem C

Utilizando a biblioteca NCURSES - Parte I

Criando um sistema operacional com ASM e C++

Utilizando a biblioteca NCURSES - Parte III

Tutorial OpenGL

  
Comentários
[1] Comentário enviado por ibelin em 01/06/2011 - 11:44h

Ótimo post cabelo.
Uma dúvida. Com este método eu consigo aprovação na App Store?

[2] Comentário enviado por tonnytg em 01/06/2011 - 17:41h

ibelim, acredito que a app store avalia o software criado não com o que ele foi criado.
Se funcionar porque barrar ?

[3] Comentário enviado por xkillerrx em 02/06/2011 - 09:46h

Gostaria de saber de algum programador que desenvolva programas profissionais para o Mac dessa forma, totalmente inviável oO !

[4] Comentário enviado por caiocesarsb em 01/07/2011 - 18:02h

Bem que voce poderia fazer um tutorial de como configurar o ambiente de desenvolvimento para Mac OS

Fica a dica!

[5] Comentário enviado por nitro em 12/07/2011 - 14:16h

Cabelo, tem como programar pra iPhone e iPad com a configuração acima???????

Obrigado e parabéns pelo tutorial!!!!

[6] Comentário enviado por cabelo em 12/07/2011 - 15:29h

Nitro:

Utilize o LiMobile para desenvolver programa para iPhone

http://pt.opensuse.org/Utilizador:Cabelo/LiMobile

e aqui

http://www.vivaolinux.com.br/artigo/Criando-aplicativos-para-o-iPhone-no-Linux-%28sem-Xcode-e-MacOS-...

[7] Comentário enviado por nitro em 20/07/2011 - 11:09h

Valew amigo. E obrigado pelos exelentes tutos....

[8] Comentário enviado por removido em 11/01/2015 - 23:00h


Muito bom o Artigo! Parabéns!

Entretanto, deveria haver uma forma de testar os binários gerados pela compilação no Linux - no caso de desenvolver apps simultaneamente para plataforma Linux e OS X.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts