Découvrir Xcode 7

Aborder les différents navigateurs

Testez gratuitement nos 1257 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Xcode possède une série de navigateurs, chacun spécialisé dans une tâche particulière. Il s'agit notamment des fichiers, symboles, breakpoints, etc.

Transcription

Alors une fois qu'on a créé notre projet, on va rentrer un petit peu plus spécifiquement dans le détail des navigateurs. De cette partie-là à gauche, cette partie-là c'est donc le navigateur, voyez qu'on a en haut à droite trois petites icônes ainsi, qui nous permettent de montrer ou de cacher le navigateur. Et même chose avec les trois autres choses, dont on verra un petit peu tout à l'heure on va se concentrer maintenant sur le navigateur. Ce navigateur on peut d'ailleurs le cacher ou l'afficher avec Commande 0 qui se retrouve donc dans le menu View, Navigators, Hide Navigator. OK, donc si je fais Hide Navigator et si je fais ici Navigators, Show Navigator. Même chose vous l'avez peut-être vu, tous ces sous panneaux sont affichables avec Commande 1,2,3,4,5,6,7,8 . C'est assez simple. On va commencer par le commande 1, celui-ci est le Project navigator, c'est tout simplement celui dans lequel vous avez tout votre projet. Et donc là, ça vous permet donc d'afficher tous vos fichiers et tout simplement comme on vous le montrait auparavant. Rien de folichon, mais aussi notamment votre product qui est un petit peu en reste de Xcode 2, Xcode 3, entre guillemets, je considère ça. Par contre ce qui est intéressant c'est de chercher ici, par exemple si je cherche un fichier commence par app ou si je décide de n'afficher que les fichiers qui ont été modifiés par exemple ou ajoutés récemment d'autre chose ainsi. Le deuxième le Symbol navigator, lui vous affiche tous vos symboles alors. Qu'est-ce que c'est qu'un symbole ? Un symbole c'est tout simplement une méthode par exemple. Donc la methode : application(_:didFinishLaunching ou par exemple des propriétés. Une propriété Windows, donc ça c'est un objet. Et tout ça séparé par vos classes, donc vous voyez qu'il y a un C, qui est donc pour classe, P pour property, M pour Méthode et tout ça vous permet aussi si par exemple vous dites : oui, je me souviens j'ai une propriété Windows, quelque part, voilà, elle est à cet endroit-là et si je clique il me retrouverait au bon endroit. Avec ici encore deux-trois petites choses, notamment de vous afficher certaines choses ou de cacher certaines choses, par exemple n'afficher que les choses qui sont définies dans le projet. Si je décoche ceci, je vais avoir toute une série de choses qui sont à l’intérieur de Swift ou des FrameWork qui sont ajoutés à mon projet. Et enfin la possibilité de cacher des membres d'un fichier Coller-Conteneur. La version Flat, elle change un petit peu, mais là ça ne se voit pas dans un projet comme ça, puisqu'on n'a pas d’héritage, mais vous le verriez dans d'autres projets. Alors maintenant la Recherche, ça c'est quelque chose de très important ici, on va voir qu'on peut rechercher par exemple tout simplement le mot Super, Si je recherche Super, que je recherche. J'aurai effectivement une fois le super.viewDidLoad et une fois le super.didReceiveMemoryWarning. C'est important de rester globalement, en général on veut être en Ignoring Case. Si je mets en Matching Case et que je cherche Super avec un grand S, parce que voilà j'avais le doigt sur la touche shift, il me trouvera rien. Alors que si je recherche avec Ignoring Case, un grand Super, là il va le trouver, OK. Donc restez en général en Ignoring Case. Petit détail aussi, je peux chercher soit dans le projet, soit plus spécifiquement à l'interieur du projet, soit je peux définir moi-même des scopes. Par exemple, j'ai défini un scope, qui ne cherche que des fichiers Swift. En l’occurrence ici dans ce projet il n'y a que du Swift, mais moi, je travaille en général avec des projets où il y a encore du reste d'Objective-C, et si je ne veux chercher que dans mon Swift à ce moment-là je pourrais définir ça. Scope, c'est défini comme ceci, vous allez dire par exemple seulement à cet endroit, ou seulement par exemple une Path Extension, qui est égale à point Swift c'est ce que j'ai fait. Alors évidemment il a crée un nouveau Scope, mais on peut l'effacer avec la touche Delete, tout simplement. Ensuite, on va faire un tour du côté des Issues. Là c'est ou j'ai effectivement des problèmes alors, pour avoir des problèmes il faut commencer par créer ces problèmes. Donc allons faire un tour du côté du view controller. On va effacer ceci et on va créer : let a=42. Et là effectivement, là j'ai déjà réussi à créer un petit problème. C'est pas un problème, c'est un Warning, tout simplement, voyez qu'il s'affiche dans le code ici, qui me dit en gros sensiblement : vous avez initialisé cette variable et vous ne l'utilisez pas, alors on va remplacer par Underscore, ce n'est pas très smart. Donc ça, ça va s'afficher ici et ce qu'ils veulent que je fasse plutôt que de suivre son Fix-it, qui en l'occurrence c'est pas smart, c'est plutôt que je veux utiliser cette variable, par exemple en faisant un print. Si je fais ça, à ce moment-là vous voyez ça disparaît. Il y a aussi une petite astuce, qui est que si vous décidez de ne pas afficher des Warnings ici à gauche, vous pouvez tout simplement lui dire : ne m'affiche que les erreurs. OK, donc ils ne seront pas affichés ici, ils seront bien affichés ici. Je ne recommande pas ça surtout pour les petits projets, mais il s’avère que dans les plus gros projets on a des fois des Warnings sans rentrer dans les détails, qui sont très difficiles à enlever, donc ça peut être éventuellement utile. Les erreurs justement qu'est-ce que c'est qu'une erreur ? Une erreur c'est par exemple si j’écris ici : let a=42a, alors avec ce 42 a ils ne saura rien faire, à la différence phénoménale c'est que si je remets juste le Warning et je compile, vous verrez que ça compile à merveille, Build Succeeded. Par contre si je mets une erreur ici, que j'essaie de compiler là Build Failed parce que compiler avec une erreur, ça ne marche pas. L'ID Expected Digit, etc. et quand je clique, ça ne marche pas. Donc on va remettre comme avant. La suite c'est les Tests. J'ai pas de Unit Test en l’occurrence, donc ce qu'on va faire c'est qu'on va rajouter un test target. OK, donc on va cliquer sur plus, on va lui dire de faire un Unit Test Target, on va faire juste des Unit tests dans un premier temps. On va lui dire de stocker ça à cet endroit-là et là il m'a créé une target avec pour l’instant aucun Unit Test. Si je vais voir ici dans mon projet je verrai que j'ai effectivement un nouveau groupe, avec un fichier Swift, avec un justement très convenient un Test exemple. Alors je peux le faire tourner entièrement avec Run Test, Commande + U que vous retiendrez, U pour Unit Test. Ou je peux aussi carrément indépendamment les uns des autres avec ce petit play ici, cliquer directement dessus, alors ce qu'il va faire c'est qu'il va lancer mon application, donc l'ID Testing, parce que là il est en train de lancer l'application dans le simulateur, il teste et il dit qu'effectivement tous les tests ont succeeded, il n'y a pas de code, donc effectivement c'est pas difficile. Si je vais faire un tour par ici, vous allez voir qu'ici le test effectivement a passé. Maintenant si je veux qu'il ne passe pas, quelque chose de très simple pour vous, je vais faire un XCTAssert. Et là, derrière je vais mettre une expression de BooleanType, en général vous allez tester quelque chose. Nous, on va faire très simple, on va faire False directement, OK. Là je peux aussi aller cliquer directement là-dessus ou lancer tous mes tests. Il est en train de tester et effectivement il dit : XCTAssertTruefailed, parce que là ça n'a pas fonctionné. Si je lui dis, par exemple que 0 est égal à 0, et que je relance l'IP Test Commande U. Là à priori 0 est bien égale à 00, et donc les Builds ont succedded, donc il est en train de tester là et ensuite il va mettre à jour. Alors la suite c'est une Debug Session, pour débugguer, comment on va faire ? On va retourner ici, on va mettre un Breakpoint, justement. La Debug Session, pour ça on verra dans les Breakpoints, tout à l'heure, il faut que je puisse mettre un Breakpoint pour pouvoir vous montrer. Je vais lancer mon application, qui pour l'instant n'est pas très folichonne puisqu'en gros elle a sensiblement un écran blanc. Là, je vais être dans un Breakpoint ici, ça me permettra de vous montrer ce qu'on appelle les Gages en anglais ou les jauges en français, c'est un peu plus joli je trouve en français. Si je clique ici, vous verrez que j'aurais par exemple le CPU, donc on va cacher le reste pour l'instant. Le CPU évidemment, le CPU de mon MAC et non pas de mon iPhone, puisque je tombe sur le simulateur. Donc évidemment il est très peu à demander pour l'instant. La Mémoire, même chose, vous verrez que non je n'ai pas 16 giga sur mon iPhone, le plus gros device iOS pour l'instant c'est l'iPad Pro Version grande qui a 4 giga. Les autres devices pour l'instant ont 2 Giga voire un peu moins d'ailleurs, voire 1 pour certains. Donc là vous verrez tout ce qui est consommé en mémoire. Les Disks même chose, quels sont les accès en lecture-écriture ? On va cacher la partie droite, ça va vous permettre de voir un peu plus. Aussi à quel endroit j'ai écrit des choses ainsi ? Le réseau, ça c'est très important, quelle est la communication avec le monde extérieur ? Download, Upload, quels ports sont utilisés, quels paquets ? J'ai un bouton Profile in instruments, qui sort un petit peu du contexte de ce cours, mais qui vous lancera Instruments App, qui est une app de Profiling, qui permettra d’approfondir un petit peu le sujet. Encore une fois ça sort du contexte. Et là, on peut totalement voir dans quel Thread on se trouve au niveau de la pile. Si vous voulez voir un petit peu d'assembler, voilà, ça c'est la popotte interne d'iOS. Et donc là je sais exactement où je suis , je peux donc continuer en cliquant sur le bouton plus, ça va complètement continuer ou je peux faire un Step, une fois voilà, qui ira donc à la ligne d'après. Je pourrais aussi d'ailleurs sans entrer dans les détails complètement débugguer la hiérarchie des vues de mon application, qui donc m'afficherait complètement la UI ou des choses ainsi. Nous, pour l'instant ce qu’on va faire, ce qu'on va tout simplement continuer. Justement on a parlé des Breakpoints, là j'en ai mis un Breakpoint. Il s'est affiché ici avec le Commande + 7 Show the Breakpoint navigator avec un Breakpoint. On va en mettre un autre, tiens juste en dessous. Je peux les désactiver tous les deux avec ceci. Et donc c'est Commande + Y, si vous voulez retenir. Et pour mettre un BreakPoint d'ailleurs, vous pouvez le faire avec le slash comme celui ci, slash, backslash, j'ai tendance à confondre depuis d'un temps. Donc ça vous permet de les voir et donc où si vous pouvez aussi les supprimer aussi avec Delete évidemment. De la même façon vous pouvez aussi ajouter ce qu'on appelle des Exceptions Breakpoint directement, qui donc vous permettront de catcher toutes les exceptions, même les exceptions d'objective-C, ou des choses ainsi. On va terminer avec le tout dernier qui est donc le Report Navigator. Là vous voyez je suis dans une séance de Debugging, mais on voit tout ce qui s'est passé aujourd'hui, tous mes Builds, que j'ai créés pour ce projet et tout le détail. Donc ça peut être très pratique à ce niveau-là. Donc voilà un peu tous les navigateurs avec bon je rappelle Commande 1,2,3,4,5,6,7,8 et donc Commande 0 pour cacher tout ça. En général vous passerez beaucoup de temps surtout dans celui-là. Mais les autres évidemment sont très utiles, et évidemment la recherche.

Découvrir Xcode 7

Explorez l’interface et les fonctionnalités d’Xcode 7. Gagnez ainsi en productivité lors du développement de vos applications iOS, OS X, watchOS et tvOS.

Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :4 mai 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !