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.111 ]

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

Criando um serviço de monitoramento de vídeo e detector de presença com sua WebCam no Linux

Torne o seu servidor um mirror de atualização do Antivírus AVG (revisão)

Apache Cassandra NoSQL, uma tecnologia emergente

Transforme o seu celular Android em webcam sem fio na plataforma Linux

Camera Kombat: Mortal Kombat ao vivo com WebCam

Leitura recomendada

C - Include e Makefile

Criando um sistema operacional com ASM e C++

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

Ponteiros void na linguagem C

Substituindo a biblioteca conio.h no Linux usando ncurses curses.h

  
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