Visualizzazione post con etichetta ubuntu. Mostra tutti i post
Visualizzazione post con etichetta ubuntu. Mostra tutti i post

lunedì 2 aprile 2012

How to develop iPhone apps on Ubuntu

Abstract

How many of you wish to develop iPhone apps without using a Mac? Well, after several tries, I finally found javacom/toolchan4. This project provides a simple script to install the iOS SDK on Ubuntu 10.10. In addition, it provides an integration with Theos suite.
In this guide I will show you how to prepare your computer for install iOS SDK 4.2 in Toolchan4 and how to upload your iPhone apps on your iDevice.

Before Start

As you can see, Toolchan4 works on Ubuntu 10.10. Although there's a workaround to work on Ubuntu's most recent versions, I will show you how to instal Ubuntu Maverick on Virtualbox. I choose this option to preserve my system, I’ll later show you what do I mean, and also because I don’t want to install an unsupported version.

Stuff


  • Virtualbox stuff
  1. Virtualbox installer for your favourite OS
  2. An Ubuntu 10.10 iso file
  • iOS SDK Installation stuff
  1. xcode_3.2.5_and_ios_sdk_4.2_final.dmg available on Apple Developer site (registration required) 
  2. Java Virtual Machine for Ubuntu (installable from the Ubuntu Software Centre)
  3. 7zip (available on  Ubuntu Software Centre). I will use it to unzip the .dmg file
  4. the cross-platform version of HFSExplorer (file .zip)
  • iPhone stuff
  1. a jailbreaked iPhone
  2. OpenSSH and Installous apps

Install Toolchan4

  • Setting Virtualbox
If you want to install Ubuntu 10.10 on VirtualBox, you can follow any guide you want. The only thing you need to mind is to configure your virtual machine network options. By default Virtualbox sets new virtual machines with "NAT network" option. This option lets the machine to connect to the Internet, but it denies the connection on local devices (even the iPhone). To permit virtual machine to access the iPhone, you have to go to virtual machine Settings then select Network and set "Attached to" to "Bridged Adapter" (Fig.1)
Fig. 1

See Virtalbox's manual (chapter 6) for more.

  • Extract the SDK from Xcode
Now we proceed extracting the SDK 4.2 file from Xcode. First of all we'll need to obtain the 5.hfs file from xcode_3.2.5_and_ios_sdk_4.2_final.dmg. To do that open a terminal (ctrl+alt+t) and run the following code into you download directory:
7z e xcode_3.2.5_and_ios_sdk_4.2_final.dmg 5.hfs

I don't mount the 5.hfs file directly in loopback, but I extract the SDK file using HFSExplorer.
At First search "java" in Ubuntu Software Centre and install the "Openjdk java 6 runtime" package. Now open a terminal in HFSExplorer directory and run the code
./runfsb.sh

In HFSExplorer go to Open -> Load filesystem from file and select the 5.hfs file. Now extract the PhoneSDK4_2.pkg in /Packages directory (Fig. 2)
Fig. 2


Follow the Toolchan4 guide on the project homepage (linked above). Pay attention to step 6, the guide rename some system files (as and ld), this is the reason why I choose to use a virtual machine.
Well, now you can compile an example project to test Toolchain4.


  • Deploy and install ipa package
Before starting, be sure you have OpenSSH and Installous installed. If you don't know how to install those apps, search on Google.
Now to get the iPhone IP address, go to Settings on your Springboard, then select Wi-fi. In "Wi-fi networks" find your network and press the blue circle with an arrow in it. Your iPhone's IP address will now be displayed .
Go back to Ubuntu and select Places -> Connect to server. In "Connect to server" ... select:
Server type: SSH
Server: the iPhone's address
User Name: root (password "alpine". It will be asked you on connection).(Fig. 3)
Fig. 3



When you are logged in search the folder /var/mobile/Documents/Installous/Downloads and copy the .ipa file. Then open Installous on your iPhone device, tap Downloads, select your file and install it.
That's all!


Conclusions

In this guide I showed you what files you have to download to install Toolchan4 and how to setup a virtual machine to deploy and install your iPhone apps. To date an Opensource graphical IDE for iPhone apps does not exist, then you just have to only write code by hand.

Marco "Mad Hatter"

P.S.

If you think you have tons of time to spare, can you please read this and point out the mistakes I did?

giovedì 29 marzo 2012

Sviluppare applicazioni per iPhone su Ubuntu

Introduzione

Molti di voi si saranno chiesti se è possibile programmare applicazioni per iPhone senza l'utilizzo di Mac OS X e senza, il conseguente, utilizzo di XCode. Dopo diversi tentativi ho provato javacom toolchan4, questo sistema offre un semplice script per l'installazione della SDK per iOS sotto Ubuntu 10.10. Toolchan4 predispone il sistema operativo alla compilazione di applicazioni per iOS e permette l'integrazione con la suite per lo sviluppo Theos.

Premesse

Come potete leggere dalla home del progetto, Toolchan4 funziona out of the box su Ubuntu 10.10. Benché esista un workaround per il funzionamento sulle versioni successive di Ubuntu, io vi consiglio (ed è quello che ho fatto anch'io) di installare Ubuntu Maverick su VirtualBox. Oltre a non costringerci ad utilizzare un OS che non verrà più supportato, ci permette di mettere mano alle cartelle di sistema con meno preoccupazioni.
Questo post è incentrato alla preparazione del sistema per poter programmare iOS 4.3.3 e per installare le applicazioni sul dispositivo. Toolchan4 supporta anche versioni successive dell'SDK, quindi alcuni passaggi potrebbero essere diversi.

Ingredienti


  • Con l'utilizzo di una macchina virtuale
  1. una copia di Virtualbox per il proprio sistema operativo
  2. una copia della distribuzione Ubuntu 10.10


  • Necessario per l'installazione dell'SDK
  1. una copia del file xcode_3.2.5_and_ios_sdk_4.2_final.dmg reperibile sul sito di Apple Developer (richiede la registrazione al sito)
  2. Java Virtual Machine reperibile da Ubuntu Software Centre
  3. 7zip, disponibile su Ubuntu Software Centre, per scompattare il file .dmg
  4. HFSExplorer per aprire il file .hfs all'interno del pacchetto di xcode. Il programma è fruibile su Ubuntu scaricando lo zip.
  • Deploy ed esecuzione dell'applicazione
  1. un iPhone sul quale è stato eseguito il jailbreak
  2. Openssh e Installous installati sull'iPhone

Installiamo il toolchan

  • Preparazione della macchina virtuale
Se avete deciso di installare Ubuntu su Virtualbox potete seguire una delle guide facilmente reperibile sul Web. L'unico accorgimento che dovete fare è la configurazione della rete della macchina virtuale. Solitamente VirtualBox configura le nuove macchine virtuali in configurazione NAT. Questa configurazione fa in modo che la macchina creata rimanga in una rete separata. Il problema è che NON possiamo accedere ai dispositivi collegati in LAN, come il nostro iPhone. Per ovviare a questa condizione configuriamo la rete come Bridged Adapter: in questo modo, oltre all'accesso a Internet, avremo la possibilità di accedere a tutti i dispositivi LAN, iPhone compreso(Fig. 1).
Fig. 1 - proprietà della macchina virtuale



Per maggiori informazioni sulla configurazione di rete di VirtualBox, consultate il capitolo 6 del manuale

  • Estrazione dei file necessari
Una volta scaricato dal sito di Apple il pacchetto di XCode, procediamo con l'estrazione dei file necessari all'installazione dell'ambiente di sviluppo. Per prima cosa decomprimiamo l'archivio con 7Zip ed estraiamo il file 5.hfs. Da terminale spostiamoci nella cartella dove abbiamo scaricato il file xcode_3.2.5_and_ios_sdk_4.2_final.dmg e digitiamo:
7z e xcode_3.2.5_and_ios_sdk_4.2_final.dmg 5.hfs

Una volta ottenuto il file navighiamo al suo interno grazie a HFSExplorer. Ho deciso di adottare questa procedura perché montando (o mount-ando) in loopback la partizione potrebbe dare dei problemi (almeno così dicono).
Prima di procedere bisogna installare la JDK di Java da Ubuntu Software Centre (semplicemente cercando java e installando il pacchetto Openjdk java 6 runtime)
Avviamo HFSExplorer digitando, da terminale,
./runfsb.sh
nella cartella scompattata

Una volta avviato il programma, selezioniamo File -> Load file system from file e selezioniamo il file 5.hfs appena scompattato.  Il file che ci interessa è nella cartella /Packages/ e si chiama iPhoneSDK4_2.pkg (Fig. 2)


Fig. 2 - Cartella con il file iPhoneSDK4_2.pkg

La procedura di installazione che trovate nella home di toolchan4 (linkata ad inizio articolo) non presenta alcuna complicazione. Attenzione al punto 6, lì la guida vi propone di rinominare alcuni file di sistema (as e ld), per questo vi dicevo che è consigliabile usare una macchina virtuale.
Ok, questo è quanto per avere l'ambiente di sviluppo funzionante, non dovete fare altro che testare che tutto sia andato a buon fine compilando alcuni dei progetti di esempio.

  • Deploy e installazione del pacchetto ipa sul dispositivo

Prima di procedere con l'installazione del file .ipa (pacchetto dell'applicativo per iPhone) dovete assicurarvi di avere installato, sul vostro dispositivo, OpenSSH e Installous. Come installare queste due applicazioni vi rimando all'onnisciente Google. La prima cosa da fare è recuperare l'indirizzo IP del telefonino. Per fare ciò aprite l'applicazione Impostazioni e scegliete Wi-fi. Qui troverete, alla voce "scegli un network" la lista di reti wireless; quella che ci interessa è la voce spuntata da una V. Premete la freccia blù sulla voce a cui siete connessi e vi appariranno alcune informazioni, l'indirizzo IP è il primo in alto (quello segnato, neanche a dirlo, come "Indirizzo IP"). Ora abbiamo tutto il necessario per deployare il pacchetto ipa su iPhone.
Da Ubuntu andiamo su risorse -> Connetti al server. Ci verrà proposta una finestra con dei campi. Nel campo "Tipo Servizio" selezioniamo SSH, come "Server" l'IP del iPhone, i camp "Porta" e "Cartella" non ci interessano quindi lasciamoli pure vuoti, nel campo "Nome Utente" inseriamo root e clicchiamo su connetti.(Fig3)
Fig. 3 - Form "Connessione al server" compilata



Poco dopo dovrebbe apparirci una finestra per la password, quella di default è alpine. Una volta connessi cerchiamo la cartella /var/mobile/Documents/Installous/Downloads e copiamo il file .ipa. Spostiamoci ora sul telefono, avviamo Installous, premete su Downloads, selezionate l'applicazione appena scaricata e installatela. Tornando alla home dovreste vedere l'icona per avviare l'applicazione.

Conclusione

In questo post abbiamo visto dove recuperare i file necessari all'installazione di toolchan4, come predisporre il sistema operativo (Ubuntu 10.10) e come uploadare ed installare la nostra applicazione su iPhone. Ora non ci resta che dare sfogo alla nostra fantasia e sviluppare applicazioni per iOS. Purtroppo non ho trovato nessuna IDE Open Source che permetta lo sviluppo di applicazioni in modalità visuale, pertanto ci dobbiamo accontentare di scrivere il codice a mano.

Marco "Mad Hatter"