Déployer un projet Xcode sur Ipad/Iphone sans compte developpeur Apple

Introduction

Vous voulez déployer un projet Xcode sur votre Ipad ou votre Iphone pour un petit projet perso et n’avez pas besoin d’utiliser l’Apple Store et surtout de payer les 99$/ans pour un compte développeur chez Apple ? Il existe une solution ! Pour ca vous avez juste besoin de jailbreaker votre device et effectuer quelques manipulations diverses et variées. Il faut savoir pour les réticents que Jailbreaker son device est quelque chose de réversible ! Donc d’aucune façon dangereuse pour votre appareil. Pour plus d’information, je vous invite a lire ceci.

Etape 1 : Jailbreaker votre device

Cette étape est la plus simple, il vous suffit d’aller sur ce site très pratique : http://www.jailbreakinside.com Vous y trouverez une solution pour effectuer le jailbreak de votre device en téléchargeant un simple binaire.

Etape 2 : Installation de AppSync sur votre device

Après le Jailbreak de votre appareil, une application Cydia apparaitra, ouvrez la et ajouter dans les sources : http://cydia.hackulo.us. Ensuite vous n’avez plus qu’a y rechercher l’application AppSync. Voyez ce Cydia comme un espèce de dépôt d’application.

edit : Le projet Hackulo a fermé, il existe cependant des repos alternatifs pour acceder a AppSync : http://cydia.myrepospace.com/Perrotti/

Source : http://www.igeeksblog.com/hackulo-us-alternative-repo-to-get-appsync-for-ios/

Etape 3v1 : Manipulation sur votre machine de developpement pour Xcode 4.4.X

Pour cet étape, il existe deux variantes selon votre version de Xcode. Pour Xcode 4.4.x, je vous invite a lire ce tutoriel : ici.  Je l’ai suivi et cela fonctionne même s’il comporte quelques erreurs. Je n’ai cependant pas pu tester le résultat puisque je possède la version 4.3.2. Pour la version Xcode 4.3.2 ( et 4.3.X) je vous invite a vous referer directement a l‘étape 3v2

Vous retrouverez les erreurs en question dans les commentaires du tutoriel donné plus haut. Voici un récapitulatif des erreurs :

Etape 3 : Create self-signed certificate

Concernant le type de certificat celui ci doit être “Signature de code” et non “S/MIME” comme indiqué

Etape 5 : Patch Xcode

# cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/PrivatePlugIns/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/
# cp ./iPhoneOS\ Build\ System\ Support ./iPhoneOS\ Build\ System\ Support.orig
# printf “\xc3\x26\x00\x00” » ./iPhoneOS\ Build\ System\ Support
# chmod a+x iPhoneOS\ Build\ System\ Support</pre>

Ici sur la 3ème ligne de commande bash, c’est bien evidemment une redirection et non une double quote de citation fermante :

# printf “\xc3\x26\x00\x00” >> ./iPhoneOS\ Build\ System\ Support

Etape 9 : Add a run script to your project build phase

Une fois le script copié et collé sur XCode, vous devez faire attention, apparemment l’encodage des caractères est erronés sur le site. Ainsi vous aurez peut être à effacer les doubles quotes et les réécrire même si d’aspect tout semble correcte. En général cette erreur vous provoquera des erreurs quand vous essayerez de déployer votre projet sur votre device du type : iPhone Developer: no identity found

Etape 3v2 : Manipulation sur votre machine de developpement pour Xcode 4.3.X

Pour la version 4.3.X, j’ai testé la manipulation avec les éléments suivants :

  • Appareil : Ipad 1
  • iOS : 5.1.1
  • Xcode 3.4.2
  • Max OS X 10.7
Le tutoriel à suivre se trouve ici. Evidemment la encore il comporte une petite erreur… sinon cela ne serai pas drole. En faites, le tutoriel indique de mettre ldid3.py et le binaire ldid dans /usr/local/bin mais je vous conseil de faire toute la manipulation avec /usr/bin en corrigeant les références du script python ldid3.py et du fichier iPhoneCodeSign.xcspec vers /usr/bin et non /usr/local/bin comme prévu dans le tutoriel.

Enfin pour la dernière étape de ce tutoriel concernant la création du fichier sur votre device, pour cela, vous devez juste installer OpenSSH via Cydia, puis vous connecter à votre device via votre ordinateur en SSH, la procédure ici.

Conclusion

Et voila maintenant si tout va bien l’icone de votre application apparait sur votre device et vous pouvez la lancer. Et voila j’ai enfin mon application Ipad pour piloter ma caméra motorisée à distance !!