Overblog
Suivre ce blog
Editer l'article Administration Créer mon blog

Publié par

Voici comment j’ai procédé pour installer l’environnement de développement pour l’iPhone/iPod Touch, sous Mac Os X Leopard. Ce tutorial est réservé à un public averti, et ne doit être mis en oeuvre que par des gens qui savent ce qu’ils font.

Lexique : la “Toolchain” est l’ensemble des applications qui sont nécessaires à la création de nouvelles applications déstinées en l’occurence ici à l’iPhone.

Vous trouverez ici toutes les infos que j’ai pu glané sur le net et qui m’ont permis de compiler ma première application pour l’iPhone sous Leopard. Car la méthode pour construire la Toolchain n’est pas claire selon les configurations et il existe pas mal de trous dans la documentation qui ont necessité que je corrige moi même quelques trucs.

Au départ, j’ai suivi les instructions sur cette page : http://code.google.com/p/iphone-dev/wiki/Building
C’est un peu la page officielle qui centralise les dernières instructions et mises à jour, et dont tout le monde se sert pour faire ses tutoriaux.
Le problème avec ces instructions, c’est que vers le 5ème pavé, il est écrit :

Get a copy of the iPhone root filesystem. This is usually obtained by decrypting and extracting the iPhone restore software using these tools, but there are many other methods to obtain this, including simply using scp to download all the files from the iPhone over Wi-Fi. Unpack the root filesystem somewhere, and set the environment variable $HEAVENLY to its path.

Ce qui est dit ici : c’est en gros, débrouillez vous pour obtenir une copie du système de fichiers de l’iPhone, copiez la quelque part sur votre disque, et faites pointer la variable $HEAVENLY à cet endroit.
Premier test : la copie via le wifi (cf ce tuto connexion SFTP depuis mon logiciel FTP) du répertoire “/” (root) commence à me transferer 13 gigas de données. Je pense qu’il télécharge plusieurs fois les même fichiers à cause des liens qui pointent vers des répertoires parents. Donc j’ai du dévier du tuto (dans l’étape 4) :

D’abord, quelques détails sur les prérequis (ma config avant de démarrer):
Leopard 10.5.1
iPod Touch en v1.1.2 jailbraké

INSTRUCTIONS

1. D’abord, il faut installer XCode, l’environnement de développement de Mas Os X. Il est présent sur le DVD d’install (il me semble) ou téléchargeable ici

2. Ouvrez un Terminal, et vérifier que /usr/local/bin est dans la variable path:

$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

Si /usr/local/bin n’y est pas, tapez
$ PATH=$PATH:/usr/local/bin

3. Assurez vous que vous avez bison et flex installé sur votre système. Normalement Leopard les a installé par défaut.

$ bison –version
GNU Bison version 2.3

$ flex –version
flex version 2.5.33

4. Récupération du filesystem de l’iPod Touch. On va décrypter et exraire le logiciel de restauration en utilisant  vfdecrypt et la clé de décryptage correspondante à cette version du firmware. Pour moi, il s’agit de la version 1.1.2 (voir http://www.touchdev.net/wiki/Decrypt_Firmware pour les autres versions):

$ curl -O http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPod/SBML/osx/bundles/061-4036.20071107.9g3DF/iPod1,1_1.1.2_3B48b_Restore.ipsw
$ mv iPod1,1_1.1.2_3B48b_Restore.ipsw fw112.zip
$ unzip fw112.zip

4.1 Récupérez vfdecrypt sur Rapidshare à l’adresse : http://rapidshare.com/files/40981513/vfdecrypt.zip.html et dézippez le dans le réperoire courant par exemple. Changez les droits d’éxecution comme ceci :

$ sudo chmod 755 vfdecrypt

4.2 Décryptez l’image dmg de l’iPod (qui est un fichier de 118MB) avec la bonne clé:

$ pushd fw112
$ ../vfdecrypt -i 022-3724-1.dmg -o decrypted.dmg -k 70e11d7209602ada5b15fbecc1709ad4910d0ad010bb9a9125b78f9f50e25f3e05c595e2
$ popd

4.3 Maintenant on va copier le filesystem dans le répertoire usr/local/share/iphone-filesystem. D’abord, montez l’image décryptée “decrypted.dmg” en utilisant le Finder.

Vous devriez avoir un nouveau volume nommé Oktoberfest3B48b.N45Bundle (nom pour le firmware 1.1.2),  contanant le filesystem de l’iPhone. Ne reste qu’à le copier au bon endroit à l’aide de ces commandes :

$ sudo mkdir /usr/local/share
$ sudo mkdir /usr/local/share/iphone-filesystem
$ sudo cp -R /Volumes/Oktoberfest3B48b.N45Bundle/* /usr/local/share/iphone-filesystem

4.4 Positionnez la variable d’environment $HEAVENLY vers ce répertoire :

$ HEAVENLY=/usr/local/share/iphone-filesystem

5. Une fois ceci fait, j’ai utilisé le script de Kevin Chiu, qui automatise l’installation du reste de la toochain (étapes qui sont détaillées sur http://code.google.com/p/iphone-dev/wiki/Building.

Il y a avait une erreur la première fois que j’ai lancé son script. J’ai du rajouter 2 commandes pour que la compliation fonctionne sur ma machine. Je lui ai envoyé un mail et il a corrigé son script dans la foulée. Son script corrigé est en ligne sur son blog. (Pour info, les 2 lignes que j’ai rajoutées sont les lignes 41 et 42 de son script et commencent par “sudo ln …”)

Pour terminer l’installation de la toolchain, il suffit de télécharger puis d’exécuter ce script, et ceci est faisable en une simple commande :

$ curl http://emmanuel.digiaro.free.fr/ipodtouch/leopard_toolchain.sh|sudo bash

La compilation de LLVM SVN, odcctools, et csu va prendre un certain temps (20 min environ). Verifiez qu’il n’y ait pas d’erreurs de compilation.

Voilà, votre machine est prête à compiler des applis pour l’iPhone. Je conseille que vous commencer par essayer la compilation de Terminal.app, en suivant les instructions sur le forum iPhon.fr

Commenter cet article