iPhone et iPod Touch : développement d'applications sous Linux
Par Guillaume Savaton le mercredi 2 septembre 2009, 20:06 - Lien permanent
Pour créer des applications pour l'iPhone et l'iPod Touch, Apple fournit un kit de développement gratuit. Ce kit ne fonctionne que sous MacOS X et l'installation des applications sur un vrai iPhone requiert l'acquisition d'une licence de développeur auprès d'Apple.
Après plusieurs tentatives infructueuses, j'ai fini par obtenir un environnement de développement complet qui me permet de travailler sous Linux et de tester mes applications directement sur mon iPod.
La procédure indiquée ici fonctionne correctement avec la version 2 du firmware. Elle ne fonctionne pas avec la version 3.0.
Jailbreak
La première étape consiste à débloquer l'iPhone ou l'iPod de manière à autoriser l'installation d'applications sans passer par l'AppStore.
Cette opération appelée jailbreak
est décrite à différents endroits sur la toile.
Par exemple dans les tutoriels du site iClarified.
Télécharger et installer la chaîne de compilation
Les indications fournies sur le blog de Dread Pirate PJ m'ont servi de point de départ mais n'ont pas complètement abouti dans mon cas. L'auteur du blog fournit une chaîne de compilation directement installable sous Linux.
- Télécharger le fichier iphone-toolchain-linux.tgz.
- Décompressez ce fichier à la racine de votre système de fichiers sur votre poste de travail Linux. Les outils s'installent dans le dossier /usr/local.
cd / sudo tar xzf chemin/vers/iphone-toolchain-linux.tgz
Installer les bibliothèques et les fichiers d'en-tête
Quand on possède un Mac, c'est assez facile
Il faut tout d'abord télécharger et installer le kit de développement gratuit d'Apple. Il faut ensuite récupérer le dossier iPhoneOS2.2.sdk (dans /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/) et le copier sur votre PC sous Linux (par exemple dans /usr/local).
Au passage, on peut s'interroger sur l'intérêt de toutes ces manœuvres lorsqu'on possède déjà un Mac avec le SDK installé dessus. Dans mon cas, le Mac est installé dans le salon : il sert surtout de téléviseur, lecteur DVD, chaîne Hi-Fi... Pour travailler ou bricoler, je préfère le PC installé dans la pièce qui sert de bureau.
Quand on ne possède pas de Mac
Une autre méthode consiste à extraire les bibliothèques des entrailles de l'iPhone. Il faut tout d'abord installer OpenSSH et RSync sur l'iPhone (en utilisant Cydia). RSync et SSH doivent également être installés sur le PC sous Linux.
Dans les commandes ci-dessous, remplacez <IP iPhone> par l'adresse IP de votre iPhone :
sudo mkdir -p /usr/local/iPhoneOS2.2.sdk/System/Library cd /usr/local/iPhoneOS2.2.sdk/System/Library/ sudo rsync -azuv root@<IP iPhone>:/System/Library/Frameworks . sudo rsync -azuv root@<IP iPhone>:/System/Library/PrivateFrameworks . cd ../.. sudo mkdir usr cd usr sudo rsync -azuv root@<IP iPhone>:/usr/lib .
Téléchargez les fichiers d'en-tête : sdk-2.0-headers.tar.gz.
cd /usr/local/iPhoneOS2.2.sdk/usr sudo tar xzf /chemin/vers/sdk-2.0-headers.tar.gz sudo mv include-2.0-sdk-ready-for-iphone include
Modifier les bibliothèques de base
La procédure complète figure sur le site de Jay Freeman (saurik). En résumé, j'ai suivi ces indications :
cd /tmp mkdir csu cd csu svn co http://iphone-dev.googlecode.com/svn/trunk/csu . sudo cp *.o /usr/local/iPhoneOS2.2.sdk/usr/lib cd /usr/local/iPhoneOS2.2.sdk/usr/lib sudo ln -sf crt1.o crt1.10.5.o sudo ln -sf dylib1.o dylib1.10.5.o
Essayer de construire une application exemple
Je me suis inspiré des indications fournies sur le blog antirez weblog. Le programme a été un peu simplifié et le Makefile a été modifié de manière à tenir compte des emplacements où sont installés les outils.
Cliquez ici pour télécharger le programme exemple
Pour compiler et installer l'exemple, vous devez effectuer les opérations suivantes :
- Décompressez l'archive. Vous devez obtenir un dossier
Salut
. - Modifiez le Makefile en indiquant l'adresse IP de votre iPhone ou iPod (variable IPHONE_IP).
- Dans le dossier Salut, exécutez la commande
make install
. Vous devrez entrer trois fois votre mot de passe root (celui de l'iPhone, par défautalpine
si vous ne l'avez pas modifié).
Lors de la troisième étape, l'application est compilée et copiée sur l'iPhone/iPod.
Ce dernier est redémarré de manière à faire apparaître l'icône de l'application Salut
.
Évaluer ce billet
0/5
- Note : 0
- Votes : 0
- Plus haute : 0
- Plus basse : 0



Commentaires
Salut,
tes explications sont claires et précises, c'est assez rare =)
Je suis curieux de savoir si depuis tu as testé avec un firmware 3.0 ? Ca m'intéresserait.
Merci d'avance.
Évaluer ce commentaire
0/5
En fait, mes expériences ne vont pas beaucoup plus loin que ce qui est raconté dans ce billet : juste quelques essais pour vérifier qu'il est possible de développer sous Linux pour l'iPhone.
Malheureusement, je n'ai pas trouvé le temps de poursuivre mes expérimentations et j'avoue que j'ai perdu une partie de mon enthousiasme pour le développement sur l'iPhone et l'iPod Touch.
Aujourd'hui, si je devais développer des applications mobiles, ce seraient certainement des applications web, compatibles avec un plus grand nombre de plates-formes.
Évaluer ce commentaire
5/5