553417 Creez Des Applications Pour iPhone iPad Et iPod Touch

461
Créez des applications pour iPhone, iPad et iPod Touch Par MichelMartin www.siteduzero.com

Transcript of 553417 Creez Des Applications Pour iPhone iPad Et iPod Touch

  • Crez desapplications pour

    iPhone, iPad et iPodTouch

    Par MichelMartin

    www.siteduzero.com

  • Licence Creative Commons 6 2.0Dernire mise jour le 8/01/2013

  • Sommaire 2Sommaire ........................................................................................................................................... 4Partager .............................................................................................................................................. 6 Crez des applications pour iPhone, iPad et iPod Touch ................................................................... 8Partie 1 : Tout ce quil faut savoir avant de commencer ...................................................................... 8Lquipement du codeur .................................................................................................................................................... 8De quel ordinateur s'quiper ? ....................................................................................................................................................................................

    10Un autre matriel est-il ncessaire ? ......................................................................................................................................................................... 10Une brve histoire d'Apple ........................................................................................................................................................................................ 11Les iPhone, iPod Touch et iPad ................................................................................................................................................................................. 14Limitations des appareils mobiles Apple ................................................................................................................................................................... 15Et la programmation dans tout a ? .......................................................................................................................................................................... 15Qu'est-ce qu'un programme ? ................................................................................................................................................................................... 15Connaissances pralables ncessaires pour programmer ....................................................................................................................................... 15Langages, API et systme ......................................................................................................................................................................................... 16Les logiciels ncessaires .......................................................................................................................................................................................... 16Xcode sur votre Mac ................................................................................................................................................................................................. 18En rsum .................................................................................................................................................................................................................

    19Un premier dveloppement ............................................................................................................................................. 19Cration de l'application ............................................................................................................................................................................................ 23Ajout des contrles sur linterface ............................................................................................................................................................................. 26Liaison des contrles au code ................................................................................................................................................................................... 30Ecriture du code ........................................................................................................................................................................................................ 32Construction et excution .......................................................................................................................................................................................... 33En rsum .................................................................................................................................................................................................................

    33Le simulateur iOS ............................................................................................................................................................ 34Les bases .................................................................................................................................................................................................................. 36Simuler les gestuelles et les actions de l'utilisateur .................................................................................................................................................. 36Simuler les gestuelles de l'utilisateur ........................................................................................................................................................................ 36Simuler les actions de l'utilisateur ............................................................................................................................................................................. 36Quelques pratiques connatre ................................................................................................................................................................................ 36Installer/dsinstaller une application ......................................................................................................................................................................... 38Retourner la configuration d'usine .......................................................................................................................................................................... 38Dboguer une application lors de son excution sur le simulateur ........................................................................................................................... 39En rsum .................................................................................................................................................................................................................

    40Partie 2 : Le langage Objective-C ..................................................................................................... 40Les bases de l'Objective-C .............................................................................................................................................. 40Mise en pratique de ce chapitre ................................................................................................................................................................................ 41Instructions ................................................................................................................................................................................................................ 42Variables, constantes et oprateurs .......................................................................................................................................................................... 42Les variables ............................................................................................................................................................................................................. 45Les constantes .......................................................................................................................................................................................................... 45Les oprateurs .......................................................................................................................................................................................................... 49Commentaires ........................................................................................................................................................................................................... 50Types de donnes ..................................................................................................................................................................................................... 50Boolens ................................................................................................................................................................................................................... 50Entiers ....................................................................................................................................................................................................................... 51Rels ......................................................................................................................................................................................................................... 51Caractres ................................................................................................................................................................................................................. 52Les pointeurs ............................................................................................................................................................................................................. 54Chanes de caractres .............................................................................................................................................................................................. 54Structures .................................................................................................................................................................................................................. 55Conversions de type .................................................................................................................................................................................................. 56En rsum .................................................................................................................................................................................................................

    56Conditions, boucles et fonctions ..................................................................................................................................... 57Conditions ................................................................................................................................................................................................................. 57Oprateurs de comparaison ...................................................................................................................................................................................... 57if ................................................................................................................................................................................................................................. 59else ............................................................................................................................................................................................................................ 59elseif .......................................................................................................................................................................................................................... 60Plusieurs conditions dans un test .............................................................................................................................................................................. 61L'instruction switch .................................................................................................................................................................................................... 62Boucles ..................................................................................................................................................................................................................... 63La boucle for .............................................................................................................................................................................................................. 64La boucle while .......................................................................................................................................................................................................... 65La boucle do while ..................................................................................................................................................................................................... 66Fonctions ................................................................................................................................................................................................................... 68En rsum .................................................................................................................................................................................................................

    69La programmation oriente objet .................................................................................................................................... 69Qu'est-ce que la programmation Oriente Objet ? .................................................................................................................................................... 72Dfinir une classe ...................................................................................................................................................................................................... 73Le fichier .h ................................................................................................................................................................................................................ 76Le fichier .m ............................................................................................................................................................................................................... 78Dfinir des mthodes ................................................................................................................................................................................................ 79Appeler des mthodes ..............................................................................................................................................................................................

    2/461

    www.siteduzero.com

  • 79Avant la pratique, un peu de thorie ......................................................................................................................................................................... 81Appel d'une mthode existante ................................................................................................................................................................................. 83Cration et appel d'une mthode .............................................................................................................................................................................. 84Crochet ou point ? ..................................................................................................................................................................................................... 85Crer un objet ............................................................................................................................................................................................................ 86Cycle de vie des objets ............................................................................................................................................................................................. 86En rsum .................................................................................................................................................................................................................

    88Les principaux objets utiliss en Objective-C ................................................................................................................. 88Chanes de caractres .............................................................................................................................................................................................. 88Tester l'galit de deux NSString .............................................................................................................................................................................. 89Longueur d'un NSString ............................................................................................................................................................................................ 90Concatner deux NSString ........................................................................................................................................................................................ 90Dfinir une chane pendant l'excution d'une l'application ........................................................................................................................................ 91Parcourir un NSString, caractre par caractre ........................................................................................................................................................ 91Nombres .................................................................................................................................................................................................................... 92Dates et heures ......................................................................................................................................................................................................... 92Affichage de la date courante .................................................................................................................................................................................... 94Cration d'une date relative la date systme ......................................................................................................................................................... 94Dfinition d'une date autre que la date systme ....................................................................................................................................................... 95Une variante pour dfinir une date autre que la date systme .................................................................................................................................. 96Extraction des composants d'un objet NSDate ......................................................................................................................................................... 97Ajouter ou soustraire des dates ................................................................................................................................................................................ 98Calculer la diffrence entre deux dates .....................................................................................................................................................................

    100Temps ncessaire pour excuter un bloc d'instructions .......................................................................................................................................... 101Tableaux .................................................................................................................................................................................................................. 101Dfinir et initialiser un tableau ................................................................................................................................................................................. 102Accder aux objets contenus dans un tableau ....................................................................................................................................................... 104Passer en revue les objets contenus dans un tableau ............................................................................................................................................ 107Dictionnaires ........................................................................................................................................................................................................... 107Cration et initialisation d'un dictionnaire ................................................................................................................................................................ 108Mthodes relatives aux dictionnaires ...................................................................................................................................................................... 108Un exemple de code ............................................................................................................................................................................................... 109Ensembles .............................................................................................................................................................................................................. 109Cration et initialisation d'un ensemble ................................................................................................................................................................... 110Mthodes relatives aux ensembles ......................................................................................................................................................................... 111En rsum ...............................................................................................................................................................................................................

    111TP Un jeu de Mastermind ........................................................................................................................................... 112Instructions pour raliser le TP ................................................................................................................................................................................ 113Correction ................................................................................................................................................................................................................ 113Cration de l'application .......................................................................................................................................................................................... 113Dfinition de l'interface ............................................................................................................................................................................................ 119Liaison des contrles au code ................................................................................................................................................................................. 122criture du code ...................................................................................................................................................................................................... 128Le code complet ......................................................................................................................................................................................................

    131Partie 3 : Cration d'interfaces graphiques ..................................................................................... 131Fentres, vues et contrles ........................................................................................................................................... 131Cration d'une application multivues ....................................................................................................................................................................... 131Cration de l'application .......................................................................................................................................................................................... 133Insrer un contrle dans une application ................................................................................................................................................................ 135Positionner, aligner et redimensionner un contrle vue ....................................................................................................................................... 135Positionner un contrle vue .................................................................................................................................................................................. 135Aligner un contrle vue ........................................................................................................................................................................................ 136Redimensionner un contrle vue ......................................................................................................................................................................... 136Un aperu des contrles disponibles ...................................................................................................................................................................... 138Les volets Attributs et Taille ..................................................................................................................................................................................... 139En rsum ...............................................................................................................................................................................................................

    140Les contrles qui affichent des donnes (1/2) .............................................................................................................. 141Afficher du texte non modifiable .............................................................................................................................................................................. 142Saisir du texte sur une ligne .................................................................................................................................................................................... 143Saisir du texte sur plusieurs lignes .......................................................................................................................................................................... 143Afficher une image .................................................................................................................................................................................................. 144L'image est dans l'album photo du device .............................................................................................................................................................. 150L'image est dans les ressources de l'application .................................................................................................................................................... 152L'image est sur Internet ........................................................................................................................................................................................... 154L'image est stocke dans la sandbox ..................................................................................................................................................................... 158En rsum ...............................................................................................................................................................................................................

    159Les contrles qui affichent des donnes (2/2) .............................................................................................................. 159Afficher du contenu Web ......................................................................................................................................................................................... 160Afficher une carte .................................................................................................................................................................................................... 161Ajout du framework MapKit l'application .............................................................................................................................................................. 161Modification du fichier .h .......................................................................................................................................................................................... 162Modification du fichier .m ........................................................................................................................................................................................ 166Quand le contenu dpasse la taille du contrle, de la vue ou de la fentre ............................................................................................................ 169Demander son avis l'utilisateur ............................................................................................................................................................................ 169Une bote de dialogue modale avec un contrle UIAlertView ................................................................................................................................. 173Une bote de dialogue modale avec un contrle UIActionSheet ............................................................................................................................. 177En rsum ...............................................................................................................................................................................................................

    179Les informations tabulaires ........................................................................................................................................... 179Listes d'informations sur une colonne ..................................................................................................................................................................... 180Premire approche .................................................................................................................................................................................................. 186Utilisation de la vue dtaille ................................................................................................................................................................................... 197Listes d'informations sur une ou plusieurs colonnes ...............................................................................................................................................

    Sommaire 3/461

    www.siteduzero.com

  • 204Slection d'une date dans un contrle spcialis ................................................................................................................................................... 207En rsum ...............................................................................................................................................................................................................

    207Les contrles d'action .................................................................................................................................................... 208Boutons ................................................................................................................................................................................................................... 210Segmented Control ................................................................................................................................................................................................. 215Zones de texte ......................................................................................................................................................................................................... 219Curseurs .................................................................................................................................................................................................................. 220Interrupteurs ............................................................................................................................................................................................................ 221Contrles de page ................................................................................................................................................................................................... 230En rsum ...............................................................................................................................................................................................................

    231Barres et tabulations ..................................................................................................................................................... 231Applications multivues ............................................................................................................................................................................................. 242Barre d'outils ........................................................................................................................................................................................................... 245Barre de recherche .................................................................................................................................................................................................. 247Initialisation du Table View ...................................................................................................................................................................................... 250Filtrage des donnes affiches dans le Table View ................................................................................................................................................ 255Gestion simultane de deux vues sur un iPad ........................................................................................................................................................ 267En rsum ...............................................................................................................................................................................................................

    268Insertion de contrles avec le code .............................................................................................................................. 269Le code complet ...................................................................................................................................................................................................... 271Affichage d'un label ................................................................................................................................................................................................. 273Affichage d'un Round Rect Button .......................................................................................................................................................................... 274Affichage d'un Text Field ......................................................................................................................................................................................... 275Affichage d'un rectangle de couleur rouge .............................................................................................................................................................. 276Affichage d'une image ............................................................................................................................................................................................. 278En rsum ...............................................................................................................................................................................................................

    278TP Un navigateur Web trs cibl ............................................................................................................................... 279Principe du TP ......................................................................................................................................................................................................... 280Correction ................................................................................................................................................................................................................ 280Dfinition de l'application et de la vue secondaire .................................................................................................................................................. 280Dfinition des favoris ............................................................................................................................................................................................... 285Insertion du contrle Web View et liaison au code .................................................................................................................................................. 285Mise en relation des deux vues ............................................................................................................................................................................... 287Partage de donnes entre les deux vues ................................................................................................................................................................ 292Aller plus loin ...........................................................................................................................................................................................................

    293Partie 4 : Plus loin avec iOS 5 ......................................................................................................... 294Golocalisation .............................................................................................................................................................. 294Longitude et latitude ................................................................................................................................................................................................ 303Vitesse ..................................................................................................................................................................................................................... 306Golocalisation inverse ......................................................................................................................................................................................... 312En rsum ...............................................................................................................................................................................................................

    312Multimdia : le son ........................................................................................................................................................ 313Jouer des lments audio ....................................................................................................................................................................................... 313La technique System Sound Services .............................................................................................................................................................. 318La technique AVAudioPlayer ................................................................................................................................................................................... 324Un peu plus loin avec la technique AVAudioPlayer ................................................................................................................................................. 334Enregistrement audio .............................................................................................................................................................................................. 334Cration du projet .................................................................................................................................................................................................... 334Dfinition de l'interface et du fichier d'en-ttes ........................................................................................................................................................ 335Initialisation de l'objet audioRecorder ...................................................................................................................................................................... 338criture du code pour les Rounded Rect Button ..................................................................................................................................................... 343En rsum ...............................................................................................................................................................................................................

    345Multimdia : l'image ....................................................................................................................................................... 345Jouer des lments vido ....................................................................................................................................................................................... 345Implmentation du framework MediaPlayer ............................................................................................................................................................ 346Affichage en mode paysage .................................................................................................................................................................................... 347Implmentation du lecteur ....................................................................................................................................................................................... 353Prendre des photos ................................................................................................................................................................................................. 353Cration du projet .................................................................................................................................................................................................... 355Liaison des contrles au code ................................................................................................................................................................................. 355criture du code de l'application ............................................................................................................................................................................. 361En rsum ...............................................................................................................................................................................................................

    361Acclromtre ............................................................................................................................................................... 362Mise en place de l'application ................................................................................................................................................................................. 362Avant de commencer .............................................................................................................................................................................................. 362Dfinition de l'interface de l'application ................................................................................................................................................................... 364Liaison des contrles au code ................................................................................................................................................................................. 364criture du code ...................................................................................................................................................................................................... 371En rsum ...............................................................................................................................................................................................................

    371Un jeu de casse briques ................................................................................................................................................ 372Dfinition de l'interface ............................................................................................................................................................................................ 375Liaison des contrles au code ................................................................................................................................................................................. 376Immersion dans le code .......................................................................................................................................................................................... 376Dfinition de l'arrire-plan de l'application ............................................................................................................................................................... 377Dplacement de la balle .......................................................................................................................................................................................... 379Dplacement de la raquette .................................................................................................................................................................................... 380Dtection des collisions ........................................................................................................................................................................................... 383Musique de fond et bruits vnementiels ................................................................................................................................................................ 384Perte de la balle ...................................................................................................................................................................................................... 385La touche finale ....................................................................................................................................................................................................... 385Le code de l'application ...........................................................................................................................................................................................

    Sommaire 4/461

    www.siteduzero.com

  • 388En rsum ............................................................................................................................................................................................................... 389TP - Capturez les vers ................................................................................................................................................... 390Principe du TP ......................................................................................................................................................................................................... 392Solution ................................................................................................................................................................................................................... 392Cration du projet .................................................................................................................................................................................................... 393Dfinition de l'cran de jeu ...................................................................................................................................................................................... 394Affichage d'une image en arrire-plan .................................................................................................................................................................... 394Mise en place du timer ............................................................................................................................................................................................ 401Tests de collisions ................................................................................................................................................................................................... 402Musique d'arrire-plan ............................................................................................................................................................................................. 407En rsum ...............................................................................................................................................................................................................

    407Partie 5 : Tester et publier ses applications ..................................................................................... 408Gestion des matriels et des identits numriques ...................................................................................................... 408Dboguer une application ....................................................................................................................................................................................... 408Affichage d'informations depuis le code .................................................................................................................................................................. 410Affichage d'informations depuis le volet de dbogage ............................................................................................................................................ 410Souscrire au programme de dveloppement iOS ................................................................................................................................................... 411Souscription la version standard individuelle ....................................................................................................................................................... 416Certificats et profils d'approvisionnement ................................................................................................................................................................ 417Crer un profil d'approvisionnement ....................................................................................................................................................................... 428Travailler sur un device ........................................................................................................................................................................................... 428Installer une application iOS sur un device depuis Xcode ...................................................................................................................................... 429Installer la dernire version de iOS sur un matriel ................................................................................................................................................ 429Faire des captures d'cran ...................................................................................................................................................................................... 431En rsum ...............................................................................................................................................................................................................

    431Proposer une application sur l'App Store ...................................................................................................................... 432Prparation prliminaire .......................................................................................................................................................................................... 434Paramtrage de iTunes Connect ............................................................................................................................................................................ 442Prparer une application pour la diffusion ............................................................................................................................................................... 444Configuration de iTunes Connect ............................................................................................................................................................................ 444Documents et images ncessaires ......................................................................................................................................................................... 444Rfrencer l'application dans iTunes Connect ........................................................................................................................................................ 450Validation et soumission d'une application .............................................................................................................................................................. 452Quand votre application est accepte ................................................................................................................................................................. 453Gagner de l'argent avec une application ................................................................................................................................................................. 453Insrer de la publicit dans une application ............................................................................................................................................................ 460En rsum ...............................................................................................................................................................................................................

    Partager 5/461

    www.siteduzero.com

  • Crez des applications pour iPhone, iPad et iPod Touch

    Par MichelMartinMise jour : 08/01/2013Difficult : Intermdiaire Dure d'tude : 1 mois

    18 168 visites depuis 7 jours, class 17/799Crer ses propres applications pour iPhone, iPad ou iPod Touch : un rve pour beaucoup d'entre nous ! Certains disent quel'univers Apple est ferm, d'autres que les langages de programmation pour Apple sont difficiles apprendre. Mais qu'en est-ilvraiment ?

    En ce qui me concerne, je pense que si vous avez un peu de volont, de temps et des ides plein la tte, vous pouvez faire desmerveilles sur les priphriques portables Apple. Avec ce tutoriel, je vais vous faire dcouvrir l'univers merveilleux de laprogrammation iOS, c'est--dire de la programmation d'applications pour iPhone / iPod Touch / iPad, toutes versionsconfondues.

    Peu importe que vous soyez de parfaits dbutants en programmation ; si tel est le cas, il vous faudra juste un peu plus de tempspour assimiler et mettre en pratique tout ce qui sera dit dans ce tutoriel. Bien vite, vous progresserez pas de gant et vous serezcapables de raliser des applications qui viendront enrichir l'App Store, la plateforme d'applications ddie l'univers Apple, etplus particulirement aux iPhone, iPod Touch et iPad.

    Pour cela, vous allez devoir apprendre utiliser :1. Xcode, l'environnement de dveloppement ddi d'Apple ;2. Objective-C, le langage (principalement) ddi la programmation des priphriques portables d'Apple.

    Votre apprentissage se fera de faon trs progressive et je suis sr que vous passerez toutes les tapes du parfait programmeuravec succs.Pour vous mettre l'eau la bouche, voici en images quelques exemples des applications qui seront dveloppes dans ce tutoriel :

    Si vous tes prts me rejoindre dans cette aventure, j'en serais ravi. Mais assez parl, il est temps de faire connaissance avecl'univers Apple.

    Ce cours vous plat ?

    Si vous avez aim ce cours, vous pouvez retrouver le livre "Crez des applications pour iPhone,iPad et iPod Touch" du mme auteur en vente sur le Site du Zro, en librairie et dans les boutiques enligne. Vous y trouverez ce cours adapt au format papier.

    Vous pouvez galement obtenir cet ouvrage au format eBook sur Amazon ou sur iTunes.

    Plus d'informations

    Partager 6/461

    www.siteduzero.com

  • Crez des applications pour iPhone, iPad et iPod Touch 7/461

    www.siteduzero.com

  • Partie 1 : Tout ce quil faut savoir avant de commencer

    Lquipement du codeura y est, vous tes prts franchir le pas et dvelopper des applications pour les priphriques mobiles Apple ? Vous devezcertainement vous demander si cela est possible et si vous y arriverez.

    Rien n'est impossible ! Surtout que je vais vous accompagner tout au long de votre apprentissage. Peu importe si vous n'avezjamais utilis de Mac ou si vous n'avez aucune exprience en programmation. Avec de la volont et arms de ce livre, vous vousen sortirez haut la main.

    Si vous tes prts tenter l'aventure, voyons de quel matriel vous aurez besoin.De quel ordinateur s'quiper ?

    Comment a, de quel ordinateur s'quiper ? J'ai dj un PC et j'en suis satisfait ! Pourquoi est-ce que je devrais investirdans un nouveau matriel ?

    Eh bien, je suis dsol de vous l'apprendre, mais les dveloppements pour iPhone, iPad et iPod Touch se font presqueexclusivement sur Mac. Et ce n'est pas tout ! Le Mac doit :

    1. tre quip d'un processeur Intel ;2. possder au moins 1 gigaoctet (1 Go) de mmoire vive ;3. utiliser le systme d'exploitation Mac OS X Lion, Snow Leopard ou Leopard ;4. disposer d'un port USB libre et/ou d'une connexion wifi afin de connecter votre iPhone/iPod Touch/iPad l'ordinateur et

    de tester vos applications.

    Presque exclusivement sur un Mac ? Des prcisions s'il vous plat ?

    Il est galement possible de dvelopper des applications pour les produits Apple en utilisant un ordinateur fonctionnant sousWindows ou Linux, mais ce n'est (vraiment) pas la voie la plus simple, ni bien videmment celle recommande par Apple.Ce livre s'intressera uniquement la mthode de dveloppement traditionnelle : sur un Mac, via l'application Xcode.

    Si vous possdez dj un Mac, je vais vous montrer comment savoir s'il est quip en consquence : cliquez sur la pomme dansle Finder et slectionnez propos de ce Mac dans le menu. la figure suivante par exemple, le Mac est quip d'unprocesseur Intel Core 2 Duo et utilise le systme OS X 10.6.7, donc Snow Leopard.

    Crez des applications pour iPhone, iPad et iPod Touch 8/461

    www.siteduzero.com

  • Les trois dernires versions du systme d'exploitation Mac OS X sont les suivantes :

    10.7.x : Lion ;10.6.x : Snow Leopard ;10.5.x : Leopard.

    Si vous devez vous quiper, allez faire un tour sur l'Apple Store. Tous les Mac vendus dans le Store peuvent tre utiliss. Selonvotre budget, vous choisirez un Mac Mini, un MacBook, un MacBook Air, un MacBook Pro ou un iMac.

    Si votre budget est limit, rabattez-vous sur une machine reconditionne. Vous y trouverez des Mac tests et agrs par Apple.Sous garantie pendant un an, les machines proposes sont un prix sensiblement infrieur celui du neuf et (sauf exception)dans un excellent tat !

    Dans la mesure du possible, investissez dans un cran large de 22 ou 24 pouces. Comme vous le verrez dans ce livre,l'environnement de dveloppement est l'aise sur un grand cran, et un 22 pouces n'est vraiment pas un luxe !Si vous tes dj quips d'un cran pour PC, vous pourrez le connecter sur votre Mac, condition que sa connexion soit detype DVI (figure suivante).

    J'entends dj bon nombre d'entre vous se plaindre : mon cran n'a qu'un connecteur VGA ! Est-ce que je dois acheter unnouvel cran ? Non, rassurez-vous, il vous suffit d'acheter un adaptateur VGA/DVI (figure suivante). Pour quelques euros, vous pourrezconnecter votre Mac sur votre cran VGA.

    Partie 1 : Tout ce quil faut savoir avant de commencer 9/461

    www.siteduzero.com

  • Pour les plus ambitieux d'entre vous, sachez qu'il est possible de connecter deux crans sur tous les Mac rcents. vous detrouver les adaptateurs qui conviennent, comme par exemple un Mini DisplayPort/VGA (figure suivante).

    Un autre matriel est-il ncessaire ?

    Je vais encore jouer les rabat-joie : il ne suffit pas d'tre quip d'un Mac pour crire des applications destines aux appareilsmobiles Apple. Vous devez galement possder un iPhone, un iPod Touch et/ou un iPad. Ou encore mieux, les trois !

    En effet, si l'environnement de dveloppement est en mesure de simuler le fonctionnement de ces trois appareils, lecomportement des applications est cependant biais car elles ne disposent pas des mmes ressources (mmoire et processeur) sielles sont excutes sur un Mac ou sur un device (entendez par l un iPhone, un iPad ou un iPod Touch).

    Retenez bien ce terme de device, je l'utiliserai par la suite pour dsigner un iPhone, un iPad, un iPod Touch, ou mme lestrois en mme temps.

    Une bonne nouvelle : les iPod Touch et les iPad sont galement disponibles en version reconditionne ! Vous pourrez faire desubstantielles conomies en vous rendant sur ces pages. Par cet intermdiaire, je me suis quip d'un iPad et d'un iPod Touchreconditionns, et je dois dire que je m'en flicite tous les jours. :-)

    Une brve histoire d'Apple l'origine d'Apple, deux amis : Steve Wozniak et Steve Jobs. Le premier est un lectronicien et un programmeur de gnie. Ledeuxime est un visionnaire qui saura imposer la marque la pomme en lui confrant une simplicit d'utilisation et une ligneuniques. Steve Jobs est l'instigateur de cinq volutions majeures dans le monde de l'informatique personnelle :

    l'Apple II ;le Macintosh ;l'iPod ;l'iPhone ;l'iPad.

    C'est courant 1975 que nat l'Apple I dans le garage de Steve Jobs. Rencontrant un succs mitig mais suffisant, il apportesuffisamment de capitaux pour que Steve Wozniak se consacre temps plein son digne successeur, l'Apple II. Cette machinervolutionnaire conquiert un large public grce ses innovations majeures, notamment un affichage texte et graphique, uninterprteur BASIC, le tableur VisiCalc et un lecteur de disquettes !

    Dbut 1984, le grand public dcouvre le premier modle de Macintosh. C'est encore Steve Jobs que l'on doit ce beau succscommercial. Son design innovant, sa compacit, son cran graphique de grande qualit, sa simplicit d'utilisation et sa sourisrvolutionnent l'utilisation de l'ordinateur. Le succs est immdiat et perdure depuis lors.

    Partie 1 : Tout ce quil faut savoir avant de commencer 10/461

    www.siteduzero.com

  • Mais l'aventure ne s'arrte pas l : en 2001 nat l'iPod, en 2007 l'iPhone et en 2010 l'iPad. Bien sr, l'iPod n'est pas le premierbaladeur MP3, l'iPhone n'est pas le premier tlphone cellulaire et l'iPad n'est pas la premire tablette tactile. Par contre, ces troispriphriques sont vraiment simples utiliser, et c'est ce qui fera leur succs. Une fois encore, Steve Jobs a su flairer le march etadapter ce qui a fait le succs d'Apple : la simplicit d'utilisation et la ligne esthtique.

    Aujourd'hui, Steve Jobs n'est plus avec nous, mais son empreinte demeure indlbile dans la galaxie Apple !

    Les iPhone, iPod Touch et iPad

    L'iPhone

    Les iPhone (figure suivante) sont en tout point comparables aux iPod Touch, si ce n'est qu'ils permettent de tlphoner. Vouspouvez donc les utiliser pour :

    joindre un correspondant par tlphone ; couter de la musique ; prendre des photos ( partir de l'iPhone 3) ; joindre un autre utilisateur d'iPhone/iPod Touch/iPad en visioconfrence ( partir de l'iPhone 4) ; excuter les applications crites pour les iPhone.

    Avec l'assistant vocal des iPhone 4S, vous pouvez dicter des ordres votre tlphone. Ainsi, vous pouvez prendre unrendez-vous, demander la mto, ajouter une alarme, etc. en parlant simplement votre tlphone. Attention, cetassistant n'est disponible que sur les modles 4S.

    Partie 1 : Tout ce quil faut savoir avant de commencer 11/461

    www.siteduzero.com

  • iPod Touch

    Les iPod Touch (figure suivante) sont quips d'un cran tactile de 3,5 pouces de diagonale. Ils peuvent tre utiliss pour :

    couter de la musique ; prendre des photos ( partir de l'iPod Touch 4) ; joindre un autre utilisateur d'iPhone/iPod Touch/iPad en visioconfrence ( partir de l'iPod Touch 4) ; excuter les applications crites pour les iPhone.

    Partie 1 : Tout ce quil faut savoir avant de commencer 12/461

    www.siteduzero.com

  • iPad

    Les iPad (figure suivante) sont en gros des iPod Touch un peu plus grands. Ils peuvent donc tre utiliss pour :

    couter de la musique ; prendre des photos ( partir de l'iPad 2) ; joindre un autre utilisateur d'iPhone/iPod Touch/iPad en visioconfrence ( partir de l'iPad 2) ; excuter toutes les applications crites pour les iPhone ainsi que les applications propres l'iPad.

    Partie 1 : Tout ce quil faut savoir avant de commencer 13/461

    www.siteduzero.com

  • La grande taille de l'affichage les rend galement plus agrables que les iPod Touch ou les iPhone pour surfer sur le Web et liredes e-books et autres fichiers PDF.

    Vous avez maintenant une ide des possibilits offertes par les appareils mobiles Apple. Une question cruelle va se poser vous: de quel(s) appareil(s) devez-vous vous quiper ?

    Le mieux serait d'avoir un iPhone, un iPod Touch et un iPad. Vous pourriez ainsi dvelopper pour ces trois priphriques ettoucher un vaste public. Notez cependant que les diffrences entre l'iPod Touch et l'iPhone sont trs rduites : grossirement, lepremier est quivalent au second, except qu'il ne peut pas tre utilis pour tlphoner.

    Un bon choix consiste donc acheter :

    un iPhone et un iPad si vous avez l'utilit d'un tlphone mobile ;un iPod Touch et un iPad si vous n'avez pas l'utilit d'un tlphone mobile ;un iPhone ou un iPod Touch si vos applications ne sont pas destines aux tablettes iPad.

    Limitations des appareils mobiles Apple

    Les appareils mobiles Apple sont limits par :

    la taille de l'affichage : 480 x 320 pixels : iPod Touch 3 et iPhone 3 ;960 x 640 pixels : iPod Touch 4 et iPhone 4 ;1024 x 768 pixels : iPad 1 et 2 ;2048 x 1536 pixels : iPad 3 ;

    la quantit de mmoire vive disponible : 128 Mo : iPod Touch 3 avec 8 Go de mmoire flash ;256 Mo : iPod Touch 3 avec plus de 8 Go de mmoire flash, iPod Touch 4, iPhone 3 et iPad 1 ;512 Mo : iPhone 4 et iPad 2 ;

    dans une moindre mesure, le type et la vitesse du processeur.

    Partie 1 : Tout ce quil faut savoir avant de commencer 14/461

    www.siteduzero.com

  • La taille de l'affichage est un facteur dterminant. Elle conditionnera la mise en page de vos applications et devra s'adapter auxtailles caractristiques des diffrents appareils mobiles.La quantit de mmoire vive est assez limite. C'est pour cela qu'il est absolument ncessaire de tester une application sur unpriphrique physique avant de la rendre disponible sur l'Apple Store.

    Le type et la vitesse du processeur n'influent qu'assez peu sur la vitesse d'excution des applications. Ils ne seront pris encompte que dans le cas de jeux manipulant un grand nombre d'lments graphiques.

    Et la programmation dans tout a ?Qu'est-ce qu'un programme ?

    Les ordinateurs, les tlphones, les tablettes graphiques et, d'une certaine manire, tous les appareils numriques, utilisent desprogrammes (appels aussi applications) pour accomplir des tches bien prcises. Ainsi par exemple, lorsque vous dmarrezvotre traitement de texte, votre navigateur Web ou votre messagerie, vous utilisez un programme. Autour de ces programmes, un super programme , appel systme d'exploitation, joue le rle de chef d'orchestre et permet aux applications d'accder aumatriel sur lequel elles s'excutent. On dit qu'il sert d'interface entre le matriel et les programmes. titre d'exemple, MicrosoftWindows et Mac OS X sont des systmes d'exploitation.

    Selon le matriel et le systme d'exploitation utiliss, les applications sont crites en utilisant un ou plusieurs langages deprogrammation. Les iPhone, iPod Touch et iPad sont orchestrs par un systme d'exploitation identique. Pour crire desapplications destines ce systme, un seul langage de programmation peut tre utilis : Objective-C.

    Connaissances pralables ncessaires pour programmer

    Vous tes en train de lire un Livre du Zro, et ce titre, et pour ne pas droger la rgle, aucune connaissance pralable n'estncessaire ! Ceci tant dit, si vous avez dj une premire exprience de la programmation oriente objet ou du langageObjective-C, ce sera un vrai plus : vous comprendrez trs rapidement bon nombre de notions qui seront voques ici et vousserez trs vite capables de passer la pratique. Si vous n'avez jamais programm, ne vous en faites surtout pas ! Je serai votreguide tout au long de votre apprentissage. Pour peu que vous ayez un peu de temps, d'intrt, de passion et de persvrance,vous progresserez trs vite.

    Langages, API et systme

    Tout au long de ce tutoriel, nous allons souvent parler d'Objective-C, de Cocoa Touch et d'iOS. Il est temps pour moi de vousprsenter ces termes.

    Objective-C est le langage de programmation utilis pour dvelopper des applications pour iPhone, iPod Touch et iPad. Ils'agit d'un langage hrit du langage C, c'est--dire que l'Objective-C emprunte au C bon nombre de choses.Cocoa Touch est une API (Application Programming Interface ou, en franais, interface de programmation) ddie l'criture d'applications pour iPhone, iPod Touch et iPad. Une API est constitue d'un ensemble de programmes pr-crits(classes et mthodes dans le jargon des spcialistes). Cocoa Touch ne droge pas la rgle ; elle est spcifiquementdveloppe pour les devices Apple. Elle est accessible travers Xcode, le logiciel de dveloppement que nousutiliserons.iOS est le systme d'exploitation des iPhone/iPod Touch/iPad.

    Vous trouverez la figure suivante un schma pour vous aider visualiser tout ce petit monde.

    Partie 1 : Tout ce quil faut savoir avant de commencer 15/461

    www.siteduzero.com

  • Nous aurons besoin du langage

    Objective-C et de Cocoa Touch pour dvelopper nos applications iOS

    Combien de temps me faudra-t-il pour crire ma premire application ?

    Les rponses cette question sont multiples.Si tous les logiciels ncessaires sont installs et si vous voulez juste crer votre premire application sans vraiment comprendrece que vous faites, dix minutes sont suffisantes !

    Si rien n'est encore install (je suppose quand mme que vous avez un Mac sous la main), comptez trois quatre heures pourinstaller le logiciel et mettre au point une application qui affiche un texte sur votre device.

    Je vous conseille cependant de ne pas compter le temps pass : vous vous lancez dans une grande aventure. Il vous faudra dutemps (beaucoup de temps mme) pour comprendre les mcanismes de la programmation Objective-C, mais cela en vaut la peine !Une fois les mcanismes de base assimils, vous pourrez raliser tout ce qui vous vient en tte

    Les logiciels ncessairesXcode sur votre Mac

    Xcode est le programme que vous utiliserez pour dvelopper vos applications. La version utilise dans ce tutoriel est la 4.2 (sousOS X Lion 10.7.2). Si vous utilisez une autre version, quelques dtails diffreront, mais la plupart de ce qui sera dit resteravalable. Par dfaut, Xcode est normalement dj install sur votre Mac. Pour vous en assurer, cliquez sur l'icne du Finder, l'extrme gauche du dock . Cette action ouvre une fentre dans laquelle sont affichs vos principaux dossiers, comme le montre la

    Partie 1 : Tout ce quil faut savoir avant de commencer 16/461

    www.siteduzero.com

  • figure suivante.

    Dans le volet de gauche, sous APPAREILS, cliquez sur Macintosh HD. Dans le volet de droite, double-cliquez surDevelopper, sur Applications, puis sur Xcode. Une bote de dialogue est alors affiche, comme la figure suivante.

    La version du logiciel est affiche juste en dessous du titre Welcome to Xcode . Ici, il s 'agit de la version 3.2.6. Si votreversion de Xcode n'est pas au moins gale la 4.2, je vous conseille vivement de tlcharger puis d'installer la toute dernire

    Partie 1 : Tout ce quil faut savoir avant de commencer 17/461

    www.siteduzero.com

  • version disponible. Pour cela, vous devez rejoindre la communaut des dveloppeurs Apple. Rassurez-vous, cette opration estentirement gratuite. Connectez-vous sur la page d'enregistrement d'Apple, cliquez sur Get Started et suivez la procdureindique pour rejoindre la communaut des dveloppeurs.

    Une fois enregistrs, connectez-vous sur la page de tlchargement de Xcode, cliquez sur Log in et connectez-vous enutilisant votre identifiant Apple ID.

    Attention, toutes les versions de Xcode ne sont pas compatibles avec toutes les versions du systme d'exploitation OSX. vous d'installer la version approprie :

    Leopard : Xcode 3.1 ;Snow Leopard : Xcode 3.2 ou 4.0 ;Lion : Xcode 4.2.

    Et surtout, armez-vous de patience : le fichier tlcharger pse quelque 4 Go !

    La version 4.0 de Xcode est disponible pour les membres du programme de dveloppement (99 dollars par an), maisgalement sur l'App Store pour la modique somme de 3,99 euros. Quant la version 4.1 de Xcode, elle est disponiblegratuitement sur l'App Store.

    Installation de Xcode

    Dans l'exemple qui va suivre, je me suis bas sur Xcode 4.2 sous OS X Lion. Si vous installez une autre version, il sepeut que vous n'ayez pas exactement la mme chose que moi, mais le principe reste le mme.

    Une fois Xcode tlcharg, une icne d'installation est affiche dans le dock, comme la figure suivante.

    Cliquez sur l'icne Install Xcode. Cette action ouvre la fentre Install Xcode. Cliquez sur Install, sur Agree,entrez votre nom et votre mot de passe puis patientez jusqu' la complte installation du programme. Une fois l'installationtermine, l'icne Install Xcode du dock se transforme en Xcode. Il suffit de cliquer dessus pour accder Xcode.

    En rsum

    Les dveloppements pour iPhone, iPod Touch et iPad se font sur un Mac quip d'un processeur Intel.Pour dvelopper des applications pour iPhone, iPod Touch et iPad, vous utiliserez l'application Xcode, normalement djinstalle sur votre Mac. Si tel n'tait pas le cas, vous pouvez tlcharger Xcode depuis le site pour dveloppeurs d'Apple.Pour utiliser la dernire version de l'application Xcode (4.2.x), le Mac doit utiliser le systme d'exploitation OS X Lion ousuprieur.

    Partie 1 : Tout ce quil faut savoir avant de commencer 18/461

    www.siteduzero.com

  • Un premier dveloppementLe but de ce premier dveloppement est de vous faire prendre contact avec Xcode et le langage Objective-C. N'essayez pas decomprendre tout ce qui va tre dit ici : cela deviendra de plus en plus clair au fur et mesure de votre apprentissage.

    Vous verrez, cette premire application sera vraiment trs basique. Un clic sur l'cran remplacera un texte par un autre. a n'a l'airde rien dit comme a, mais ce n'est dj pas si mal.

    Cration de l'applicationAvant toute chose, il nous faut lancer Xcode, en cliquant par exemple sur l'icne prsente dans le dock (figure suivante).

    La fentre Welcome to Xcode s 'affiche alors, comme la figure suivante.

    Nous allons ensuite crer un nouveau projet. Pour cela, rien de plus simple, il vous suffit de cliquer sur Create a newXcode project. Une nouvelle bote de dialogue s'affiche (figure suivante). Dans le volet de gauche, sous iOS, choisissezApplication. Dans la partie centrale de la bote de dialogue, choisissez Single View Application.

    Partie 1 : Tout ce quil faut savoir avant de commencer 19/461

    www.siteduzero.com

  • Cliquez sur Next, donnez le nom premier au projet, tapez test dans la zone de texte Company Identifier,slectionnez iPhone dans la liste Device Family, et cochez la case Include Unit Tests, comme indiqu la figuresuivante.

    Partie 1 : Tout ce quil faut savoir avant de commencer 20/461

    www.siteduzero.com

  • Cliquez sur Next et choisissez le dossier dans lequel le projet sera cr (figure suivante), au besoin en cliquant sur NewFolder pour crer un nouveau dossier.

    Partie 1 : Tout ce quil faut savoir avant de commencer 21/461

    www.siteduzero.com

  • Cliquez sur Create. Le projet est alors cr et ouvert dans Xcode, comme la figure suivante.

    Partie 1 : Tout ce quil faut savoir avant de commencer 22/461

    www.siteduzero.com

  • Cette fentre va vous permettre de dfinir l'allure de l'application, de saisir du code Objective-C et de tester l'application. Pourl'instant, nous n'allons pas entrer dans les dtails de la fentre de Xcode, cela ne ferait que vous embrouiller.

    Vous vous demandez peut-tre pourquoi avoir choisi une application de type Single View, ou encore pourquoiavoir tap test dans la zone de texte Company Identifier. Ces deux questions resteront pour l'instant sansrponse. Plutt que de tout introduire en mme temps et de vous noyer sous des dtails qui ne manqueraient pas des'entremler dans votre tte, j'ai choisi de ne pas rpondre pour l'instant ces deux questions qui sont toutefois bienlgitimes.

    Ajout des contrles sur linterfaceLa premire tape va consister dessiner ce que l'on souhaite voir s'afficher sur l'cran du device (Je vous rappelle que devicedsigne le priphrique sur lequel s'excutera l'application ; il peut tout aussi bien s'agir d'un iPhone, d'un iPod Touch ou d'uniPad. Ici, la cible de l'application tant un iPhone ou iPod Touch, device dsigne ces deux priphriques).L'interface de Xcode est compose de plusieurs modules (diteur de code, zone de dbogage, utilitaires, diteur d'interface, etc.).Chacun d'entre eux utilise un ou plusieurs volets , accessibles partir de la zone de navigation ou de la barre d'outils. Dans cettepremire tape, vous allez utiliser Interface Builder pour construire la partie visuelle de l'application. Pour ce faire, procdezselon les trois tapes suivantes en vous aidant au besoin de la figure suivante.

    1. Dans la zone de navigation, cliquez sur MainStoryboard.storyboard (1) pour accder Interface Builder.2. Dans la barre d'outils, cliquez sur l'icne Hide or Show the utilites (2), au-dessus du libell View, pour

    rvler le volet des utilitaires.3. Dans la partie infrieure du volet des utilitaires, cliquez sur l'icne Show the Object library (3) pour afficher la

    bibliothque d'objets. Cliquez si ncessaire sur l'icne Icon View (4) pour afficher plus de contrles dans labibliothque d'objets.

    Partie 1 : Tout ce quil faut savoir avant de commencer 23/461

    www.siteduzero.com

  • Glissez-dposez un contrle Label de la bibliothque d'objets dans la zone d'dition. Si vous n'tes pas (encore) familiers aveccette opration, sachez qu'elle consiste cliquer sur le contrle Label dans la bibliothque d'objets, maintenir le boutongauche de la souris enfonc, dplacer l'lment ainsi slectionn au-dessus de la zone d'dition puis relcher le bouton de lasouris, comme le montre la figure suivante.

    Partie 1 : Tout ce quil faut savoir avant de commencer 24/461

    www.siteduzero.com

  • Glissez-dposez ensuite un contrle Round Rect Button (un bouton) de la bibliothque d'objets dans la zone d'dition,comme indiqu la figure suivante.

    Partie 1 : Tout ce quil faut savoir avant de commencer 25/461

    www.siteduzero.com

  • Vous allez maintenant modifier le texte affich par dfaut dans le Label. Double-cliquez sur celui-ci dans la zone d'dition,crivez Cliquez sur le bouton puis appuyez sur la touche Entre de votre clavier.Faites de mme pour afficher un texte sur le bouton : double-cliquez sur le bouton, crivez Cliquez ici et appuyez sur latouche Entre.La zone d'dition doit maintenant ressembler la figure suivante.

    Liaison des contrles au codeCette application doit afficher un texte dans le Label lorsque l'utilisateur clique sur le bouton. Pour que le code Objective-Cpuisse agir sur les contrles dfinis dans l'tape prcdente, il faut relier les contrles au code.

    Cliquez sur l'icne Show the Assistant editor, au-dessus du libell Editor, dans la partie droite de la barre d'outils(figure suivante). Cette action affiche le code du fichier ViewController.h dans un volet vertical.

    Si votre cran n'est pas assez large pour visualiser la zone d'dition et le code, dsactivez la zone d'utilitaires en cliquant surl'icne Hide or Show the Utilities, dans la partie droite de la barre d'outils, au-dessus du libell View (figuresuivante).

    Partie 1 : Tout ce quil faut savoir avant de commencer 26/461

    www.siteduzero.com

  • Le fichier ViewController.h contient les dclarations relatives aux objets manipuls.

    Dclarations, objets ? Je n'y comprends rien !

    Les applications dveloppes avec Xcode sont composes de nombreux fichiers. Certains ont un nom qui se termine par .h,comme par exemple ViewController.h dans le cas qui nous intresse. Ces fichiers sont dits fichiers d'en-ttes .Ils contiennent des instructions Objective-C qui permettent d'identifier les objets (c'est--dire les contrles dposs sur la zoned'dition depuis Interface Builder) utiliss dans l'application. Ces instructions sont appeles dclarations .

    Pour ajouter les dclarations ncessaires pour le Label, contrle-glissez-dposez le contrle Label du volet d'dition dans levolet de code, juste au-dessus de la dernire ligne (figure suivante). Cette technique deviendra vite habituelle. Elle consiste :

    1. placer le pointeur de la souris sur le contrle Label dans le volet d'dition ;2. maintenir la touche Ctrl de votre clavier enfonce ;3. maintenir le bouton gauche de la souris enfonc et dplacer le contrle Label du volet d'dition dans le volet de code,

    juste au-dessus de la ligne o apparat l'instruction @end ;4. relcher le bouton gauche de la souris ainsi que la touche Ctrl.

    Partie 1 : Tout ce quil faut savoir avant de commencer 27/461

    www.siteduzero.com

  • Au relchement du bouton gauche de la souris, une bote de dialogue est affiche. Tapez message dans la zone de texteName, comme la figure suivante.

    Cliquez sur Connect. Le code du fichier ViewController.h devrait maintenant ressembler ceci :

    Code : Objective-C

    #import

    @interface ViewController : UIViewController

    @property (weak, nonatomic) IBOutlet UILabel *message;

    @end

    Partie 1 : Tout ce quil faut savoir avant de commencer 28/461

    www.siteduzero.com

  • Passons quelques minutes sur ce code si vous le voulez bien.

    La premire ligne, sur laquelle figure le mot import, fait rfrence tout ce dont vous aurez besoin pour dvelopper uneinterface utilisateur pour priphrique iOS. En ajoutant cette simple ligne au dbut de l'application, le code pourra afficher surl'cran du device et rpondre aux gestuelles (appui, dplacement, rotation, etc.) des utilisateurs.

    La ligne 3, sur laquelle figure le mot interface, indique que l'application ViewController est de typeUIViewController :

    Code : Objective-C

    @interface ViewController : UIViewController

    La ligne 5, qui contient le mot property, indique le comportement de l'objet :

    Code : Objective-C

    @property (weak, nonatomic) IBOutlet UILabel *message;

    Pour l'instant, ne vous proccupez pas des paramtres qui font suite au mot interface. Ces paramtres sontgnrs automatiquement par Xcode et leur valeur importe peu pour l'instant. Nous y reviendrons un peu plus loindans ce livre.

    Enfin, la ligne 7 matrialise la fin du fichier ViewController.h :

    Code : Objective-C

    @end

    Contrle-glissez-dposez le bouton de la zone d'dition dans le volet de code, juste au-dessus de la dernire ligne, comme lafigure suivante

    Partie 1 : Tout ce quil faut savoir avant de commencer 29/461

    www.siteduzero.com

  • Au relchement du bouton de la souris, une bote de dialogue est affiche. Ici, nous voulons associer une action au bouton, afinqu'un message soit affich dans le Label lorsque l'utilisateur appuie sur le bouton. Choisissez Action dans la liste droulanteConnection et tapez reagir dans la zone de texte Name. La bote de dialogue devrait maintenant ressembler la figuresuivante.

    Comme vous pouvez le voir sur cette image, l'action reagir (paramtre Name), excute lorsque l'utilisateur appuie sur lebouton (Touch Up Inside, soit au relchement du bouton de la souris dans le paramtre Event), est sur le point d'tredfinie.

    Cliquez sur Connect. Le code est complt avec une nouvelle instruction :

    Code : Objective-C

    #import

    @interface ViewController : UIViewController

    @property (weak, nonatomic) IBOutlet UILabel *message;

    - (IBAction)reagir:(id)sender;

    @end

    Comme vous pouvez le voir, une ligne a t ajoute dans le code pour dclarer l'action reagir dans le code (ligne 7).Ecriture du code

    Cliquez sur l'entre ViewController.m dans le volet de navigation. Un code assez imposant apparat dans la partie centralede la fentre. Il a (gentiment) t gnr par Xcode.

    Code : Objective-C

    //// ViewController.m// premier//// Created by Michel Martin on 24/10/11.// Copyright (c) 2011 __MyCompanyName__. All rights reserved.//

    #import "ViewController.h"

    @implementation ViewController@synthesize message;

    - (void)didReceiveMemoryWarning{ [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use.}

    Partie 1 : Tout ce quil faut savoir avant de commencer 30/461

    www.siteduzero.com

  • #pragma mark - View lifecycle

    - (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib.}

    - (void)viewDidUnload{ [self setMessage:nil]; [super viewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet = nil;}

    - (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated];}

    - (void)viewDidAppear:(BOOL)animated{ [super viewDidAppear:animated];}

    - (void)viewWillDisappear:(BOOL)animated{ [super viewWillDisappear:animated];}

    - (void)viewDidDisappear:(BOOL)animated{ [super viewDidDisappear:animated];}

    -(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{ // Return YES for supported orientations return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);}

    - (IBAction)reagir:(id)sender {}@end

    Vous avez sans doute remarqu que certaines lignes de code ne sont pas alignes gauche ; c'est ce qu'on appelle