Pular para o conteúdo

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.
Alessandro de Oliveira Faria (A.K.A. CABELO) cabelo
Hits: 19.290 Categoria: C/C++ Subcategoria: Miscelânea
  • Indicar
  • Impressora
  • Denunciar

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

   1. Introdução, download e execução

Biometria: Transforme-se no usuário root com sua impressão digital

Stella: Crie o seu próprio arcade ATARI 2600

Zebra Barcode Reader: Lendo código de barras com a sua Webcam no Linux

Instalando o Android 5.0 Lollipop e suas novidades

Terasology: O Minecraft gratuito e com gráfico realista

Utilizando a biblioteca NCURSES - Parte II

Reprodução de arquivos WAV com SDL_mixer e linguagem C

Tutorial OpenGL

Gerencie suas contas financeiras pessoais com Terminal Finances

Túnel do Tempo: a função itoa()

#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 Thomacelli 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!!!!
#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

Entre na sua conta para comentar.