1. Chp6 : Développement iOS
Cycle de Vie, Composants Principaux, Comportement…
Conception et Développement d’Applications Mobiles
GL4 (Option Mobile) - 2016
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 1
2. PLAN
1. Environnement de Développement iOS
2. Architecture de l’Environnement iOS
3. IHM Guidelines
4. Architecture d’une Application iOS
5. Cycle de Vie d’une Application
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 2
Chp5 : Développement iOS
3. ENVIRONNEMENT DE DÉVELOPPEMENT IOS
Chp5 : Développement iOS
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 3
1. Environnement de Développement iOS
2. Architecture iOS
3. IHM Guidelines
4. Architecture d’une Application
5. Cycle de Vie d’une Application
4. iOS
• Système d’exploitation présent sur les appareils iPhone, iPad
et iPod touch
• Gère le matériel de l’appareil et fournit les technologies
nécessaires pour implémenter des applications natives
• Est accompagné d’un ensemble d’applications
• Phone, Mail, Safari…
• Fournit des services systèmes standard pour l’utilisateur
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 4
Environnement de Développement iOS
5. iOS SDK
• Contient les outils et interfaces nécessaires pour développer,
installer, exécuter et tester les applications natives créées
pour un appareil iOS
• Les applications natives sont construites en utilisant
• Des frameworks iOS
• Un langage de programmation (Objective-C, et plus récemment Swift)
• Un environnement de développement Apple
• MacOSX: SE Apple
• Xcode: IDE de Apple
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 5
Environnement de Développement iOS
6. En quelques mots, iOS…
• Utilise une architecture en couches
• Offre des frameworks pour manipuler les interfaces système
• Répertoire contenant une bibliothèque partagée dynamique et les
ressources nécessaires pour la supporter (images, applications helpers,
fichiers headers…)
• Offre la bibliothèque du développeur
• À utiliser sans modération: http://developer.apple.com/iphone
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 6
Environnement de Développement iOS
7. Distribution des Versions (Mars 2016)
• 79% des appareils utilisent iOS 9.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 7
Environnement de Développement iOS
https://developer.apple.com/support/appstore/
8. ARCHITECTURE IOS
Chp5 : Développement iOS
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 8
1. Environnement de Développement iOS
2. Architecture iOS
3. IHM Guidelines
4. Architecture d’une Application
5. Cycle de Vie d’une Application
9. Architecture en Couches
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 9
Architecture iOS
Services et
Technologies
Fondamentales
Services et
Technologies
Sophistiquées
10. Architecture en Couches (1/4)
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 10
Architecture iOS
CocoaTouch
• Définit:
• L ’ apparencedel’application
• L ’ infrastructureetsupportpour les technologiesclef
• Contient les caractéristiques clés pour construire des applications iOS, par ex:
• Handoff:extension de laUX entreles appareils
• AirDrop:partagededocumentsentreappareilsproches
• Storyboards:permetdecréer vos interfacesetles visualiser au même endroit
• Notificationspush:alerter lesutilisateursdesinformations
• Autres frameworks
• GameKit:supportpour le GameCenter
• AddressBook UI: Interfacestandarddecréationetéditiondescontactsdutéléphone
• EventKit:contrôleurspour manipuler lesévènementsducalendrier
11. Architecture en Couches (2/4)
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 11
Architecture iOS
Media
• Contient les technologies graphiques, audio et vidéo pour implémenter les expériences multimédia
12. Architecture en Couches (3/4)
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 12
Architecture iOS
Core Services
• Services systèmes fondamentaux pour les applications
• ServicesPeer-to-peer:P2PviaBluetooth
• iCloud:servicesde stockage sur le cloudapple
• Protectiondedonnées:encryption
• SQLite, In-AppPurchase,SupportXML…
• Frameworks:
• CoreFoundation etFoundation Frameworks: typesde base que toutes les applicationsutilisent
• Accounts:AccèsSSO pour les comptesutilisateurs
• AddressBook: Accèsà la base dedonnées des contactsde l’utilisateur
• CoreTelephonyFramework,CoreMedia Framework…
13. Architecture en Couches (4/4)
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 13
Architecture iOS
Core OS
• Caractérisitiques bas niveaupour construire les technologies iOS
• Frameworks:
• CoreBluetooth: interactionavec lesaccessoiresbluetooth basseénergie
• ExternalAccessory:supportpour communiquer avec lesaccessoiresmatérielsattachésàunappareiliOS
• Local Authentication:permetd’utiliser TouchIDpour authentifier l’utilisateur
• System (Kernel),Security,support64-bit…
14. IHM GUIDELINES
Chp5 : Développement iOS
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 14
1. Environnement de Développement iOS
2. Architecture iOS
3. IHM Guidelines
4. Architecture d’une Application
5. Cycle de Vie d’une Application
15. Concepts de Base pour Conception IHM iOS
• Déférence
• La UI doit aider à comprendre et interagir avec le
contenu, pas à l’envahir
• Clarté
• Le texte doit être lisible, les icônes précises et claires,
les ornements subtils
• Profondeur
• Mouvements réalistes et couches visibles
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 15
IHM Guidelines
16. Concepts de Base pour Conception IHM iOS
• Déférence
• Prendre avantage de tout l’écran
• Reconsidérer le réalisme
• Éviter les gradients, ombres…
• Laisser le focus sur le contenu
• Utiliser des éléments translucides
• Laisser deviner le contenu derrière
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 16
IHM Guidelines
17. Concepts de Base pour Conception IHM iOS
• Déférence
• Prendre avantage de tout l’écran
• Reconsidérer le réalisme
• Éviter les gradients, ombres…
• Laisser le focus sur le contenu
• Utiliser des éléments translucides
• Laisser deviner le contenu derrière
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 17
IHM Guidelines
18. Concepts de Base pour Conception IHM iOS
• Déférence
• Prendre avantage de tout l’écran
• Reconsidérer le réalisme
• Éviter les gradients, ombres…
• Laisser le focus sur le contenu
• Utiliser des éléments translucides
• Laisser deviner le contenu derrière
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 18
IHM Guidelines
19. Concepts de Base pour Conception IHM iOS
• Clarté
• Laisser beaucoup d’espace négatif
(Espace autours et entre les éléments
d’une image)
• Rendre le contenu plus perceptible et
compréhensible
• Laisser la couleur simplifier l’UI
• Utiliser une couleur pour souligner
les éléments importants
• Assurer la lisibilité en utilisant les
polices système
• Polices iOS ajustent leur espacement
au conteneur
• Utiliser les boutons sans bordure
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 19
IHM Guidelines
20. Concepts de Base pour Conception IHM iOS
• Clarté
• Laisser beaucoup d’espace négatif
(Espace autours et entre les éléments
d’une image)
• Rendre le contenu plus perceptible et
compréhensible
• Laisser la couleur simplifier l’UI
• Utiliser une couleur pour souligner les
éléments importants
• Assurer la lisibilité en utilisant les
polices système
• Polices iOS ajustent leur espacement
au conteneur
• Utiliser les boutons sans bordure
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 20
IHM Guidelines
21. Concepts de Base pour Conception IHM iOS
• Clarté
• Laisser beaucoup d’espace négatif
(Espace autours et entre les éléments
d’une image)
• Rendre le contenu plus perceptible et
compréhensible
• Laisser la couleur simplifier l’UI
• Utiliser une couleur pour souligner
les éléments importants
• Assurer la lisibilité en utilisant les
polices système
• Polices iOS ajustent leur espacement
au conteneur
• Utiliser les boutons sans bordure
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 21
IHM Guidelines
22. Concepts de Base pour Conception IHM iOS
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 22
IHM Guidelines
• Clarté
• Laisser beaucoup d’espace négatif
(Espace autours et entre les éléments
d’une image)
• Rendre le contenu plus perceptible et
compréhensible
• Laisser la couleur simplifier l’UI
• Utiliser une couleur pour souligner
les éléments importants
• Assurer la lisibilité en utilisant les
polices système
• Polices iOS ajustent leur espacement
au conteneur
• Utiliser les boutons sans bordure
23. Concepts de Base pour Conception IHM iOS
• Profondeur
• Affichage du contenu sous forme de
couches distinctes
• Montrent la hiérarchie et relation
entre les objets
• Afficher les listes sous forme de
couches superposées
• Avoir une visibilité sur tous les
éléments
• Utiliser des transitions pour montrer
la hiérarchie
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 23
IHM Guidelines
24. Concepts de Base pour Conception IHM iOS
• Profondeur
• Affichage du contenu sous forme de
couches distinctes
• Montrent la hiérarchie et relation
entre les objets
• Afficher les listes sous forme de
couches superposées
• Avoir une visibilité sur tous les
éléments
• Utiliser des transitions pour montrer
la hiérarchie
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 24
IHM Guidelines
25. Concepts de Base pour Conception IHM iOS
• Profondeur
• Utiliser des transitions pour montrer la hiérarchie
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 25
IHM Guidelines
26. Anatomie d’une Application
Utilisation de UIKit Framework pour définir les composants de base de l’application
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 26
IHM Guidelines
27. Anatomie d’une Application
• Quatre catégories de composants graphiques
• Barres
• Informations contextuelles pour indiquer l’emplacement de l’application,
permettre la navigation et initier des actions
• Content Views
• Vues portant un contenu spécifique à l’application, et qui permettent certains
comportements tels que le défilement, l’insertion, le réarrangement…
• Contrôles
• Éléments graphiques réalisant des actions ou affichant une information
• Vues temporaires
• Apparaissent brièvement pour donner aux utilisateurs une information
importante ou additionnelle
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 27
IHM Guidelines
28. ARCHITECTURE D’UNE APPLICATION
Chp5 : Développement iOS
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 28
1. Environnement de Développement iOS
2. Architecture iOS
3. IHM Guidelines
4. Architecture d’une Application
5. Cycle de Vie d’une Application
29. Patrons de Conception
• MVC (?)
• Target-Action
• Delegation
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 29
Architecture d’une Application
30. La Vue
• Permet à l’utilisateur d’interagir avec l’application de la manière la plus
simple possible
• Scene : Écran de l’application
• Utilisation des storyboards pour la conception et l’implémentation de
l’interface dans un environnement graphique
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 30
Architecture d’une Application
31. Hiérarchie des Vues
Catégorie de Vue Objectif Exemples
Contenu Afficher un type particulier de contenu Image, étiquette de texte
Collection Afficher des collections ou groupes de vues Table, Collection
Contrôles Réaliser des actions ou afficher des
informations
Bouton, Slider, Switch
Barres Naviguer, ou réaliser des actions Toolbar, Nav Bar, TabBar
Entrées Recevoir untexte à partir de l’utilisateur Textview, barre de
recherche
Conteneurs Sert de conteneur pour d’autres vues Vue, scroll view
Modales Interrompt le flux régulier de l’application pour
permettre à l’utilisateur de faire une action
Alerte, action sheet
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 31
Architecture d’une Application
32. Hiérarchie des Vues (Exemple)
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 32
Architecture d’une Application
Window
Navigation Controller
(Sous-classe de ViewController) View
Navigation Bar
(dessinée par le
Navigation Controller)
Slider
(Sous-classe de View)
Voir Exemple:
TODOList-ObjC -1
33. Les Contrôleurs
• iOS est basé sur la programmation évènementielle
• Le flux de l’application est déterminé par des évènements:
• Évènements Système
• Évènements Utilisateur
• La réponse de l’application à une action de l’utilisateur est reflétée par
l’interface
• C’est l’utilisateur qui doit avoir le contrôle, pas le développeur!
• La logique de gestion des évènements est définie dans le
ViewController
• Un ViewController pour chaque
ContentView (Scene)
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 33
Architecture d’une Application
34. Les Contrôleurs : Rôles
• Coordination du flux d’information entre le modèle et les vues
• Gestion du cycle de vie des ContentViews
• Gestion des changements d’orientation de l’appareil
• Réponse aux interactions utilisateur
• Implémentation des transition d’un type de contenu à un autre
• Pour connecter entre le storyboard et le code, ils utilisent:
• Actions
• Outlets
• Contrôles
• Contrôleurs de Navigation
• Segues (Enchaînements)
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 34
Architecture d’une Application
35. Actions
• Action:
• Un bout de code lié à un évènement qui peut survenir dans votre application
• Quand l’ évènement a lieu, le code est exécuté
• Une action peut :
• Manipuler une donnée
• Modifier l’interface utilisateur
• Déclencher un traitement
• Pour définir une action, il faut créer une méthode avec un type de retour
IBAction et un paramètre sender
• Sender: représente l’objet responsable du déclenchement de l’action
• IBAction: mot clef spécial, indiquant que la méthode est une action, appelée à
partir d’un élément de l’Interface Builder (IB)
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 35
Architecture d’une Application
36. Outlets et Contrôles
• Outlet
• Permet de référencer les objets d’une interface à partir du code source
• Crée une propriété représentant cet objet dans le fichier ViewController cible
• La propriété est de type IBOutlet
• Mot clef indiquant que cette propriété est connectée à un élément du Interface Builder
• Contrôle
• Objet graphique avec lequel un utilisateur peut interagir
• bouton, slider, switch
• Création d’un évènement de contrôle quand un utilisateur interagir avec un
contrôle, faisant partie d’une de ces catégories:
• Toucher et glisser
• Edition
• Changement de valeur
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 36
Architecture d’une Application
37. Contrôleurs de Navigation
• View Controller particulier, permettant de gérer les transitions entre les
différentes Scenes de votre application
• Va créer une pile (LIFO) des différents ViewControllers entre lesquels il
navigue, appelée : Pile de Navigation
• Le premier élément de la pile (scene qui a déclenché la navigation), s’appelle
Root View Controller (il n’est jamais enlevé de la pile)
• Les autres View Controllers peuvent être ajoutés ou supprimés de la pile, selon
la navigation de l’utilisateur
• Un contrôleur de Navigation présente également un contenu propre à lui, en
particulier la Barre de Navigation
• Vue en haut de la scene, fournissant le contexte de navigation
• Montre l’emplacement de l’utilisateur dans la pile de navigation
• Définit un bouton Back par défaut, permettant de revenir au dernier élément de
la pile
• Peut contenir d’autres boutons, à configurer à votre guise
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 37
Architecture d’une Application
38. Segue
• Un Segue (ou enchaînement) représente une transition entre deux
ViewController: la source et la destination
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 38
Architecture d’une Application
39. Segue
• Plusieurs types de Segues:
• Show
• Fait appel à un nouveau contenu à empiler, au dessus du VC courant
• Show Detail
• Soit empile un nouveau contenu, soit remplace le VC courant dans la pile (selon
le layout utilisé)
• Present Modally
• Appelle une vue fille, qui cache la vue courante, pour permettre à l’utilisateur de
réaliser une action particulière
• Popover Presentation
• Appelle une vue ancrée à la vue courante, qui disparaît dès qu’on clique ailleurs
• Unwind
• Permet de naviguer vers une vue précédente dans la pile, pas nécessairement
• Custom
• Crée une transition personnalisée
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 39
Architecture d’une Application
Voir Exemple:
TODOList-ObjC -2
40. Types de View Controllers
• Content View Controller
• Gestion du contenu
• Créé en écrivant une sous-classe de UIViewController
• Permet de :
• Peupler la vue avec des données
• Répondre aux évènements utilisateur
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 40
Architecture d’une Application
41. Types de View Controllers
• Container View Controller
• Arrangent le contenu d’autres View Controllers, ses fils
• Peut être un parent d’autres contrôleurs, et un fils d’un autre container
• Création d’une hiérarchie
• Un conteneur
• Fournit sa propre API pour gérer ses fils
• Décide si ses fils communiquent ou sont reliés, et quels types de relations ils ont
• Peut gérer la hiérarchie des vues
• Peut imposer des contraintes de conception spécifiques à ses fils
• Plusieurs sous-types:
• Navigation Controller
• Tab Bar Controller
• Split View Controller
• Popover Controller
• Page View Controller
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 41
Architecture d’une Application
42. Types de View Controllers
• Container View Controller
• Navigation Controller
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 42
Architecture d’une Application
43. Types de View Controllers
• Container View Controller
• Tab Bar Controller
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 43
Architecture d’une Application
44. Types de View Controllers
• Container View Controller
• Split View Controller
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 44
Architecture d’une Application
45. Types de View Controllers
• Container View Controller
• Popover Controller
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 45
Architecture d’une Application
46. Types de View Controllers
• Container View Controller
• Page View Controller
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 46
Architecture d’une Application
47. Modèle
• Représente une structure de données et (optionnellement) une
logique métier pour la consistance de ces données
• Utilisation du Framework Foundation pour représenter les types
manipulés par l’application
• Deux catégories de types de données
• Value Classes: types basiques (NSString, NSNumber, NSDate…)
• Collection Classes: types composés (NSArray, NSSet et NSDictionary)
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 47
Architecture d’une Application
Voir Exemple:
TODOList-ObjC -3
48. CYCLE DE VIE D’UNE APPLICATION
Chp5 : Développement iOS
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 48
1. Environnement de Développement iOS
2. Architecture iOS
3. IHM Guidelines
4. Architecture d’une Application
5. Cycle de Vie d’une Application
49. Point d’Entrée d’une Application
• Comme toute application en C : la fonction main
• Fonction prédéfinie, créée automatiquement par xCode, et à ne pas modifier
• Permet de rendre le contrôle au framework UIKit grâce à la fonction
UIApplicationMain, qui permet de :
• Créer les objets principaux de l’application
• Charger la UI de l’application à partir du storyboard
• Appeler votre code pour une installation initiale
• Lancer le cycle d’exécution de l’application
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 49
Cycle de Vie d’une Application
51. Structure d’une Application
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 51
Cycle de Vie d’une Application
UIApplication:
• Faciliter l’interaction entre le
système et les autres
objetsde l’application
• Gère les évènements
• Transmet les transitions et
évènements à l’Application
Delegate
52. Structure d’une Application
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 52
Cycle de Vie d’une Application
Application Delegate :
• Au cœurdevotrecode
• Leseul objetgaranti dese trouverdans
toutes les applications
• Travaille avec UIApplication pourgérer:
• L’initialisation de l’application
• Les états transitions
• Les évènements dehaut niveau
53. Structure d’une Application
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 53
Cycle de Vie d’une Application
Objets Data Model
• Sauvegardent le contenude votre
application (base de données + objets
associés)
Objet Document
• Sous-classes de UIDocument
• Permet de chargerles données, se trouvant
dans plusieurs documents, in-memory,
pourpermettre leur manipulation sans que
l’application ne soit ANR
54. Structure d’une Application
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 54
Cycle de Vie d’une Application
Objets View Controller
• Étend la classe UIViewController
• Gestion de la présentation du contenude
votreapplication à l’écran
• Un VCgère une view et ses sous-vues
• Utilisent le framework UIKit (entre autres)
pourdéfinir des VCparticuliers (tabBar,
image picker, navigation…)
55. Structure d’une Application
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 55
Cycle de Vie d’une Application
UIWIndow
• Permet de coordonnerlaprésentation d’une ouplusieurs vues
sur la page
• Laplupart des applications ontun seul Window,présentant le
contenudans l’écran principal, mais certaines en définissent un
additionnel pourun affichage sur un écran externe
• Pour passer d’une vueà une autre, un contrôleurest utilisé. Un
windown’est jamais remplacé
56. Structure d’une Application
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 56
Cycle de Vie d’une Application
Vues et Contrôles
• Représentation visuelle du contenu
• UIKit fournit des vues standards pourreprésenter plusieurs
types de contenus
Layer Objects
• Incorporentdescouches de CoreAnimation: infrastructure
d’animation graphique
57. États d’Exécution d’une Application
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 57
Cycle de Vie d’une Application
58. États d’Exécution d’une Application
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 58
Cycle de Vie d’une Application
L’application n’a pas été lancée ouétait en
exécution et aété terminée par le système
59. États d’Exécution d’une Application
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 59
Cycle de Vie d’une Application
L’application est en exécution en avant-plan, mais
ne reçoitpas d’évènements. Elle peut cependant
être entrain d’exécuter un autre code
En général, c’est un état transitoire
60. États d’Exécution d’une Application
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 60
Cycle de Vie d’une Application
L’application est en exécution en avant-plan, et
reçoit des évènements.
Mode normalpourles applications en avant-plan
61. États d’Exécution d’une Application
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 61
Cycle de Vie d’une Application
L’application est en arrière-plan, et exécute du code.
En général, état transitoire avant la suspension
Mais, certaines applications entrent directement dans cet
état au lieu de inactive, si elles veulent exécuter du codeen
arrière plan au démarrage
62. États d’Exécution d’une Application
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 62
Cycle de Vie d’une Application
L’application est en arrière-plan, mais n’ exécute pas decode.
L’application reste en mémoire
Lesystème fait passer les applications à cet état automatiquement, sans
les notifier
Si le système aproblème de mémoire,il peut purgerdes applications
suspendues sans les notifier pourlaisser de l’espace aux application en
premier plan
63. États d’Exécution d’une Application
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 63
Cycle de Vie d’une Application
didFinishLaunchingWithOptions
applicationWillResignActive
applicationDidBecomeActive
applicationDidEnterBackgroundapplicationWillEnterForeground
applicationWillTerminate
Voir Exemple:
AppLifeCycle
64. Références
• Tutorial Getting Started:
https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiO
S/index.html#//apple_ref/doc/uid/TP40011343-CH2-SW1
• IHM:
https://developer.apple.com/library/ios/documentation/UserExperience/Conceptu
al/MobileHIG/index.html#//apple_ref/doc/uid/TP40006556-CH66-SW1
• Cycle de vie de
l’Applicationhttps://developer.apple.com/library/ios/documentation/iPhone/Conce
ptual/iPhoneOSProgrammingGuide/TheAppLifeCycle/TheAppLifeCycle.html#//apple_r
ef/doc/uid/TP40007072-CH2-SW1
• Architecture iOS
https://developer.apple.com/library/ios/documentation/Miscellaneous/Conceptual/i
PhoneOSTechOverview/Introduction/Introduction.html
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 64
Site du Développeur Apple: developer.apple.com