Criando aplicativos para o iPhone no Linux (sem Xcode e MacOS X)
Consultando diversos especialistas da plataforma iPhone, não obtive sucesso na busca de alternativa ao desenvolvimento para os aparelhos da APPLE no Linux. Mas no fundo o Cortex-A8 é um processador ARM, então deixo neste documento como usar o compilador llvm-gcc-4.2 para a arquitetura Darwin-Arm, assim permitindo criar binários para os dispositivos APPLE a partir de fontes C/C++ e Obj-C.
[ Hits: 55.103 ]
Por: Alessandro de Oliveira Faria (A.K.A. CABELO) em 09/11/2010 | Blog: http://assuntonerd.com.br
Trying to mount the iPhone SDK dmg...
dmg2img v1.6.1 is derived from dmg2iso by vu1tur (to@vu1tur.eu.org)
/home/mobile/Projects/iphone/toolchain/files/iphone_sdk_3.0__leopard__9m2736__final.dmg--> /home/mobile/Projects/iphone/toolchain/tmp/iphone_sdk_3.0__leopard__9m2736__final.img
reading property list, 522739 bytes from address 2237401625 …
partition 0: begin=195, size=430, decoded=284
partition 1: begin=914, size=430, decoded=284
partition 2: begin=1632, size=430, decoded=284
partition 3: begin=2367, size=430, decoded=284
partition 4: begin=3088, size=430, decoded=284
partition 5: begin=3799, size=516090, decoded=347564
partition 6: begin=520170, size=430, decoded=284
decompressing:
opening partition 0 ... [2] 100.00% ok
opening partition 1 ... [2] 100.00% ok
opening partition 2 ... [2] 100.00% ok
opening partition 3 ... [2] 100.00% ok
opening partition 4 ... [2] 100.00% ok
opening partition 5 ... [8684] 100.00% ok
Archive successfully decompressed as /home/mobile/Projects/iphone/toolchain/tmp/iphone_sdk_3.0__leopard__9m2736__final.img
You should be able to mount the image [as root] by:
modprobe hfsplus
mount -t hfsplus -o loop /home/mobile/Projects/iphone/toolchain/tmp/iphone_sdk_3.0__leopard__9m2736__final.img /mnt
In order to extract iphone_sdk_3.0__leopard__9m2736__final.dmg, I am going to mount it.
This needs to be done as root.
SDK is version 3.0.1
Extracting iPhoneSDKHeadersAndLibs.pkg...
Extracting MacOSX10.5.pkg...
Unmounting iPhone SDK img...
Headers extracted.
Checksum of firmware file is valid.Se tudo estiver bem, a compilação do llvm-gcc e outros finalizará e teremos as seguintes mensagens finais:
Archive: /home/mobile/Projects/iphone/toolchain/files/firmware/iPhone1,2_3.0_7A341_Restore.ipsw
inflating: /home/mobile/Projects/iphone/toolchain/tmp/Restore.plist
Firmware Details
Device Class: iPhone
Product Version: 3.0
Build Version: 7A341
Restore RamDisk: 018-5305-002.dmg
Restore Image: 018-5301-002.dmg
Board Config: n82ap
Unzipping 018-5301-002.dmg...
Archive: /home/mobile/Projects/iphone/toolchain/files/firmware/iPhone1,2_3.0_7A341_Restore.ipsw
inflating: /home/mobile/Projects/iphone/toolchain/tmp/018-5301-002.dmg
We need the decryption key for 018-5301-002.dmg.
I'm going to try to fetch it from http://www.theiphonewiki.com/wiki/index.php?title=VFDecrypt_Keys:_3.x....
I found it!
Mounting 018-5301-002.dmg...
Decrypting 018-5301-002.dmg...
dmg2img v1.6.1 is derived from dmg2iso by vu1tur (to@vu1tur.eu.org)
/home/mobile/Projects/iphone/toolchain/tmp/018-5301-002.dmg.decrypted --> /home/mobile/Projects/iphone/toolchain/tmp/018-5301-002.dmg.decrypted.img
reading property list, 116195 bytes from address 208878440 …
partition 0: begin=195, size=430, decoded=284
partition 1: begin=914, size=430, decoded=284
partition 2: begin=1632, size=430, decoded=284
partition 3: begin=2367, size=430, decoded=284
partition 4: begin=3088, size=430, decoded=284
partition 5: begin=3800, size=105735, decoded=71204
partition 6: begin=109817, size=430, decoded=284
decompressing:
opening partition 0 ... [2] 100.00% ok
opening partition 1 ... [2] 100.00% ok
opening partition 2 ... [2] 100.00% ok
opening partition 3 ... [2] 100.00% ok
opening partition 4 ... [2] 100.00% ok
opening partition 5 ... [1775] 100.00% ok
Archive successfully decompressed as /home/mobile/Projects/iphone/toolchain/tmp/018-5301-002.dmg.decrypted.img
modprobe hfsplus
mount -t hfsplus -o loop /home/mobile/Projects/iphone/toolchain/tmp/018-5301-002.dmg.decrypted.img /mnt
In order to extract 018-5301-002.dmg, I am going to mount it.
This needs to be done as root.
Copying required components of the firmware...
Unmounting...
Firmware extracted.
Building the toolchain...
Finding and extracting archives...
cctools-667.8.0
CF-476.14
configd-210
DirectoryService-514.23
...
Vá tomar um CAFÉ...
...
checking where to find the target ranlib... pre-installed
checking where to find the target strip... pre-installed
checking where to find the target windres... pre-installed
checking whether to enable maintainer-specific portions of Makefiles... no
updating cache ./config.cache
creating ./config.status
creating Makefile
Building gcc-4.2-iphone...
Build progress logged to: /home/mobile/Projects/iphone/toolchain/toolchain/bld/gcc-4.2-iphone/make.log
It seems like the toolchain built!
Cleaning up...
All stages completed. The toolchain is ready.
Instalando Ubuntu Touch no seu celular (Linux de bolso)
MainActor: Edição de vídeo profissional (Adobe Premiere) em Linux
TOR: A Internet sem rastreabilidade
Como instalar Microsoft SQL SERVER no openSUSE Linux
Tempest for Elisa: Transforme seu monitor em estação de rádio
Android NDK: Desmistificando o acesso a códigos nativos em C
openCertiface: Biométrica Facial em nuvem baseada em software livre
Ponteiros - Saindo de Pesadelos
Alocação dinâmica de memória em C
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)
O que você está ouvindo agora? [2] (212)
Debian 13 "trixie&... lançado! (43)
baschrc customizado pegeui vários. (1)
eu tive uma idéia, mas mais privada sobre o assunto de mu online e ser... (7)