présentation d’ios - freejeanferdysusini.free.fr/cours/cp48/nfa022_2018_ios.pdf · j.-f. susini...
TRANSCRIPT
![Page 1: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/1.jpg)
Paris, 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Présentation d’iOSJean-Ferdy Susini
Maître de Conférences - CNAMDépartement Informatique
Sources : Wikipedia, https://developer.apple.com/, Xcode Documentation
![Page 2: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/2.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
IOS
Système d’exploitation propriétaire développé par Apple et équipant ses smartphones (iPhones), ses tablettes tactiles (iPads) et ses baladeurs numériques (iPods touch) et plus récemment l’Apple TV et l’AppleWatch
Sur les bases de Mac OS X (ex NeXT) un développement spécifique orienté par l’IHM
Premier modèle annoncé en janvier 2007 et commercialisé en juin de la même année.
https://developer.apple.com/devcenter/ios/index.action
2
![Page 3: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/3.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Repenser le smartphone
Développer pour un système mobile :La taille de l’objet -> taille de l’écran et des touches ou autres systèmes de saisie...
3
![Page 4: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/4.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Repenser le smartphone
Développer pour un système mobile :La taille de l’objet -> taille de l’écran et des touches ou autres systèmes de saisie...
3
![Page 5: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/5.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Repenser le smartphone
Développer pour un système mobile :La taille de l’objet -> taille de l’écran et des touches ou autres systèmes de saisie...
3
![Page 6: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/6.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Repenser le smartphone
Développer pour un système mobile :La taille de l’objet -> taille de l’écran et des touches ou autres systèmes de saisie...
3
![Page 7: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/7.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Repenser le smartphone
Développer pour un système mobile :La taille de l’objet -> taille de l’écran et des touches ou autres systèmes de saisie...
➡ écran capacitif multi-points surface reconfigurable en entrée et en sortie
3
![Page 8: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/8.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Repenser le smartphone
Développer pour un système mobile :La taille de l’objet -> taille de l’écran et des touches ou autres systèmes de saisie...
➡ écran capacitif multi-points surface reconfigurable en entrée et en sortie
contrainte mémoire (souvent limitée au regard des applications desktop)
3
![Page 9: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/9.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Repenser le smartphone
Développer pour un système mobile :La taille de l’objet -> taille de l’écran et des touches ou autres systèmes de saisie...
➡ écran capacitif multi-points surface reconfigurable en entrée et en sortie
contrainte mémoire (souvent limitée au regard des applications desktop)contrainte CPU (architecture différente)
3
![Page 10: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/10.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Repenser le smartphone
Développer pour un système mobile :La taille de l’objet -> taille de l’écran et des touches ou autres systèmes de saisie...
➡ écran capacitif multi-points surface reconfigurable en entrée et en sortie
contrainte mémoire (souvent limitée au regard des applications desktop)contrainte CPU (architecture différente)
➡ architecture matérielle haut de gamme
3
![Page 11: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/11.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Repenser le smartphone
La métaphore du bureau passe mal à l’échelle du smart-phone
4
![Page 12: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/12.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Repenser le smartphone
La métaphore du bureau passe mal à l’échelle du smart-phone
4
![Page 13: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/13.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Repenser le smartphone
La métaphore du bureau passe mal à l’échelle du smart-phone
Une application à la fois
4
![Page 14: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/14.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Repenser le smartphone
La métaphore du bureau passe mal à l’échelle du smart-phone
Une application à la foisUn seul écran à la fois
4
![Page 15: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/15.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Repenser le smartphone
La métaphore du bureau passe mal à l’échelle du smart-phone
Une application à la foisUn seul écran à la foisUne seule tâche à la fois
4
![Page 16: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/16.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Repenser le smartphone
La métaphore du bureau passe mal à l’échelle du smart-phone
Une application à la foisUn seul écran à la foisUne seule tâche à la fois
➡ Nouvelle interface tactile
4
![Page 17: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/17.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Repenser le smartphone5
➡ Nouvelle interface tactile
![Page 18: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/18.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Repenser le smartphone
➡ Nouvelle interface tactile5
![Page 19: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/19.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Repenser le smartphone
➡ Nouvelle interface tactile5
![Page 20: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/20.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Repenser le smartphone6
![Page 21: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/21.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
➡ Nouvelle interface tactile
Repenser le smartphone6
![Page 22: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/22.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
➡ Nouvelle interface tactile
Faire la part belle au contenu
Repenser le smartphone6
![Page 23: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/23.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
➡ Nouvelle interface tactile
Faire la part belle au contenu
Peu d’éléments d’interaction à l’écran
Repenser le smartphone6
![Page 24: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/24.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
➡ Nouvelle interface tactile
Faire la part belle au contenu
Peu d’éléments d’interaction à l’écran
Peu d’aide => cohérent et prédictible, feedback
Repenser le smartphone6
![Page 25: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/25.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
➡ Nouvelle interface tactile
Faire la part belle au contenu
Peu d’éléments d’interaction à l’écran
Peu d’aide => cohérent et prédictible, feedback
Tenir compte du contexte d’utilisation
Repenser le smartphone6
![Page 26: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/26.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
➡ Nouvelle interface tactile
Faire la part belle au contenu
Peu d’éléments d’interaction à l’écran
Peu d’aide => cohérent et prédictible, feedback
Tenir compte du contexte d’utilisationêtre informé du contexte : capteurs…
Repenser le smartphone6
![Page 27: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/27.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
➡ Nouvelle interface tactile
Faire la part belle au contenu
Peu d’éléments d’interaction à l’écran
Peu d’aide => cohérent et prédictible, feedback
Tenir compte du contexte d’utilisationêtre informé du contexte : capteurs…s’adapter au contexte : affichage, saisie de données automatisée…
Repenser le smartphone6
![Page 28: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/28.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
➡ Nouvelle interface tactile
Faire la part belle au contenu
Peu d’éléments d’interaction à l’écran
Peu d’aide => cohérent et prédictible, feedback
Tenir compte du contexte d’utilisationêtre informé du contexte : capteurs…s’adapter au contexte : affichage, saisie de données automatisée…importance des animations
Repenser le smartphone6
![Page 29: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/29.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
➡ Nouvelle interface tactile
Faire la part belle au contenu
Peu d’éléments d’interaction à l’écran
Peu d’aide => cohérent et prédictible, feedback
Tenir compte du contexte d’utilisationêtre informé du contexte : capteurs…s’adapter au contexte : affichage, saisie de données automatisée…importance des animations
➡ Métaphore mécanique
Repenser le smartphone6
![Page 30: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/30.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
L’évolution
Juin 2007, iPhone (E ou 2G) : 480x320 (163ppi) iOS 1.0 -> 3.1.3, EDGE, accéléromètres, triangulation GSM/WiFi, luminosité/proximité, 2MPxsept. 2007, iPod Touch : iOS 1.1.3 -> 3.1.3juillet 2008, iPhone 3G : 480x320 (163ppi) iOS 2.0 -> 4.2.1, 3G, GPSsept 2009, iPod Touch 2 : IOS 2.1.1 -> 4.2.1juin 2009, iPhone 3GS : 480x320 (163ppi) iOS 3.0 -> 6.1.6, HSDPA, BT 2.1, boussole, 3.2Mpx, autofocus…sept 2009, iPod Touch 3 : iOS 3.1.1 -> 5.1.1
7
![Page 31: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/31.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
L’évolution
juin 2010, iPhone 4 : 960x640 (326ppi, Retina) iOS 4.0 -> 7.1, APN 2,5Mpx, flash-LED, gyroscope, camera frontale, 2 microssept 2010, iPod Touch 4 : iOS 4.1 -> 6.1.6Oct. 2011, iPhone 4s : 960x640 (326ppi) iOS 5.0 -> 9.3.5, proc. Dual-core, APN 8Mpx, GLONASS, coprocesseur audio, Siri…Sept. 2012, iPhone 5 : 1136 x 640 (326ppi) iOS 6.0 -> 10.3.3, 4G LTE, FC 1.2Mpxoct 2012 : iPod Touch 5 : iOS 6.0 -> 9.3.5Sept. 2013, 5s : 1136 x 640 (326ppi) iOS 7.0 -> 10.3.3, capteur TouchID, µP 64 bits, M7 coProcesseur capteurs, True Tone, burst-mode… 5c : basé sur l’ancien iPhone 5.
8
![Page 32: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/32.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
L’évolution
sept 2014 : l’iPhone 6 : 4,7 pouces, 1334×750 (326 ppi), l’iPhone 6+ : 5,5 pouces, 1920x1080 (401ppi), iOS 8, 11.1, baromètre, coprocesseur dédiés aux capteurs (M8), NFC, stabilisation optique APN arrière.avril 2015, AppleWatch : 272×340 (326 ppi), 312 × 390 (326 ppi), watchOS 1 -> 4, proc. S1, 512 Mo RAM, 8Go, cardio fréquence, centrale inertielle, WiFi, Bluetooth, NFC, force touch.
9
![Page 33: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/33.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
L’évolution
sept 2015 : l’iPhone 6s : 4,7 pouces, 1334×750 (326 ppi), 6s+ : écran 5,5 pouces, 1920x1080 (401ppi), iOS 9 -> 11.1, proc. A9, 2Go de mémoire vive, APN arrière 12Mpx, APN avant 5Mpx. Coprocesseur M9, 3Dtouch avec retour aptique.sept 2016, iPhone 7 : 4,7 pouces, 1334×750 (326 ppi), iPhone 7+ : écran 5,5 pouces, 1920x1080 (401ppi) iOS 10-> 11.1, proc. A10 (4 cœurs 64 bits), 3Go de mémoire vive, étanchéité, FC 7Mpx.sept 2016, AppleWatch 2 : watchOS 3.2.2 -> 4, proc. S1 ou S2 dual core, GPS, mise en place progressive de l’ApplePay…
10
![Page 34: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/34.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
L’évolution
sept 2017, iPhone 8 : 4,7 pouces, 1334×750 (326 ppi), iPhone 8+ : écran 5,5 pouces, 1920x1080 (401ppi), iOS 11 -> 11.1, proc. A11 (6 cœurs 64 bits), Neural Engine, 2Go de mémoire vive, Galileo, QZSS.sept 2017, AppleWatch 3 : watchOS 4, proc. S3 dual core, réseau cellulaire (e-SIM)…sept 2017, iPhone X : 5,8 pouces 2436×1125 (458ppi) iOS 11 -> 11.1, proc. A1, FaceID, Animoji
11
![Page 35: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/35.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
iPad
avril 2010, iPad : 1024x768 (132 ppi) iOS 4.2.1 -> 5.1.1 (accell, boussole, luminosité, WiFi, BT, 3G/AGPS)mars 2011, iPad 2 : iOS 4.2.1 -> 9.3.5 (Dual-core, cameras, gyroscope)mars. 2012, iPad Retina : 2048x1536 (264 ppi) iOS 5.1.1 -> 9.3.5 (BT 4, 3GLTE, GLONASS )oct. 2012, iPad 4 : 2048x1536 (264 ppi) IOS 6.0 -> 10.3.3oct. 2012 iPad Mini : 1024x768 (163 ppi) IOS 6.0 -> 7.0nov. 2013 iPad Air : 2048x1536 (264 ppi) iOS 7-> 11.1, A7 - 64 bitsnov. 2013 iPad Mini (2nd G) : 2048×1536 (326ppi) IOS 7->11.1, A7-M7…
12
![Page 36: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/36.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
iPad
oct. 2014 iPad Air 2 : 2048x1536 (264 ppi) iOS 8.1 -> 11.1, baromètre, APN arrière 8Mpx, touchID.oct. 2014 iPad Mini (3rd G) : 2048×1536 (326ppi) iOS 8 -> 11.1, A7-M7, touchIDoct. 2015 iPad Mini (4rth G) : 2048×1536 (326ppi) iOS 9->11.1, A7-M7, APN arrière 8Mpx, touchIDNov. 2015 iPad Pro : 12,9 pouces 2 732×2 048 (264ppi) 9,7 pouces 2048×1536 (264ppi), iOS 9.1 -> 10.1, touchID, 4 hauts parleurs, ApplePencil et ClavierJuin 2017, iPadPro : 12,9 pouces 2 732×2 048 (264ppi) 10,5 pouces 2048×1536 (264ppi) iOS 10.3.2 -> 11.1, proc. A10X 6 cœurs.
13
![Page 37: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/37.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Matériel et Logiciel évoluent ensembles
sept 2010, ATV : IOS 4.1 -> ATV 6.2.1 (iOS 7.1.2)mar. 2012, ATV : IOS 5.1 -> ATV 7.2.2 (iOS 8.4.2)jan. 2013, ATV rev. A: ATV 5.2 -> ATV 7.2 (iOS 8.3)oct. 2015, ATV : ATV 9 -> ATV 11 (iOS11)sept. 2017, ATV (4k) : ATV 11 (iOS11)
Hardware et Software développés de concert
iTunes et les mises à jour OTA depuis la version 5 facilitent les transitions
Très faible fragmentation : iOS 11 sorti en sept. 2017 représente déjà 58%, avec iOS 10 : 27%.
14
11.X 58,1 %10.X 27,2 %9.X 12,2 %8.X … 0,5 %
![Page 38: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/38.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Matériel et Logiciel évoluent ensembles
12 résolutions et 6 ratios, mode portrait ou paysage
Emulation des résolutions et ratios sur iPad, iPhone 5, 5s, 5c, CE puis sur iPhone 6, 6s, 6+, 6s+, 7, 7+, 8, 8+…
Peu de versions différentes de l’OS (1 seul constructeur et 1 seul éditeur et peu de possibilités de personnalisation). Support de matériel assez ancien.
15
ratio 4/3 Classic Retina
iPhone-iPod 480x320 960x640
iPhone-iPod 5, C, CE… 1136x640
iPad-iPad mini 1024x768 2048x1536
iPad Pro - 2732×2048 ou 2224x1668
autres ratios Retina
iPhone 6,6s,7, 8 1334×750
iPhone 6+, 6s+,7+, 8+ 1920x1080
Apple Watch 272×340 ou 312×390
iPhoneX 2436×1125
![Page 39: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/39.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Architecture du système16
Core OS
![Page 40: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/40.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
BaseBand (gestion radio GSM, WiFi, BT)Darwin OS : noyau XNU (mach 3.0+BSD)
Free BSD POSIX, IOKit, Launchd…
Architecture du système16
Core OS
![Page 41: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/41.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Nombreux services de bas niveauxbibliothèques C
Objective-C runtime
Architecture du système16
Core OS
Core Services
![Page 42: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/42.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Architecture du système16
Services d’accès aux données de typesaudio/vidéo…
(écrit en C ou en Objective-C)
Core OS
Core Services
Media Framework
![Page 43: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/43.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Architecture du système16Ensemble de Frameworks Objective-C
structurant la programmation des applications
Core OS
Core Services
Media Framework
Cocoa Touch
![Page 44: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/44.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Architecture du système16
Core OS
Core Services
Media Framework
Cocoa Touch
![Page 45: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/45.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Cocoa Touch
Les Frameworks17
![Page 46: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/46.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les Frameworks17
Cocoa Touch
![Page 47: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/47.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les Frameworks17
Cocoa TouchUIKit
Interface utilisateurGestion des
applications, des événements…
![Page 48: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/48.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les Frameworks17
Cocoa TouchUIKit
Interface utilisateurGestion des
applications, des événements…
Foundation
Classes utilitairesgestion des collectionsObjets interfaces avec
les services sous-jacents
![Page 49: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/49.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Address Book UI, Event Kit UI, Game Kit, iAd, Map Kit, Message UI, Twiter, UIKit, WebKit
Asset Library, AV Foundation, Core Audio, Core Graphics, Core Image, Core Midi, Core Text, Core Video, Image I/O, GLKit, MediaPlayer,
Open AL, OpenGL ES, Quartz Core
Account, AddressBook, Ad Support, CFNetwork, Core Data, Core Foundation, Core Location, Core Media, Core Motion, Core Telephony, Event Kit, Foundation, Mobile Core Services, PassKit, Newsstand Kit,
Quick Look, Social, Store Kit, System Configuration
Accelerate, Core Bluetooth, External Accessory, Generic Security Services, Security,
Les Frameworks18
![Page 50: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/50.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Le langage Objective-C
Le développement sous iOS repose comme sous MacOS principalement sur l’utilisation d’un langage spécifique : le langage Objective-C
Crée au début des année 80, il s’agit d’un langage Orienté Objet (à base de classes) dans la lignée de SmallTalk dont il reprend des éléments de syntaxe et les principaux concepts comme l’héritage simple, les protocols (interfaces)…
Construit au dessus de C dont il est un sur-ensemble strict => est utilisé dans le cœur même de l’OS. Les drivers sont également développés grâce à des frameworks objective-C (IOKit…).
19
![Page 51: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/51.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Le langage Objective-C
Un runtime dynamique intégré dès le début (approche très différente de C++, son concurrent de l'époque), faiblement typé (id), par la suite ont été rajoutées des annotations de type.Pas de GC, mais gestion de la mémoire par compteurs de références (manuelle puis automatique ARC). Produit du code natif, éventuellement plusieurs codes pour supporter différentes architectures processeur. (mach-o)Objective-C distingue deux phases dans la communication entre les objets :
le messaging : envoi d’un message à un objetla sélection de la méthode : un type particulier existe pour gérer la sélection (SEL : ~ pointeur de fonction)
20
![Page 52: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/52.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Objective-C
Envoie d’un message à un objet reprend la syntaxe de Smaltalk, si l’objet ne sait pas quoi faire du message, il ne fait rien :[receiver message]
utilisation d’arguments[receiver message:arg]
[receiver message:arg1 argument2: arg2]
[receiver message: arg1, arg2, nil]
valeur de retour d’un messageint res = [[receiver message] message2];
21
![Page 53: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/53.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Objective-C
Héritage simple et pourtant arbre de classes peu profond => L’héritage n’est pas le mécanisme le plus utilisé :
protocol et délégation : permet d’offrir une réponse proche de l’héritage multiplecatégories : spécialisation de code existant même si on a pas accès au code source de ces objets
Popularise quelques cadres (patrons de conception) de programmation : MVC, Target/Action, delegation…
22
![Page 54: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/54.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Objective-C
Héritage simple et pourtant arbre de classes peu profond => L’héritage n’est pas le mécanisme le plus utilisé :
protocol et délégation : permet d’offrir une réponse proche de l’héritage multiplecatégories : spécialisation de code existant même si on a pas accès au code source de ces objets
Popularise quelques cadres (patrons de conception) de programmation : MVC, Target/Action, delegation…
22
![Page 55: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/55.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Objective-C
Héritage simple et pourtant arbre de classes peu profond => L’héritage n’est pas le mécanisme le plus utilisé :
protocol et délégation : permet d’offrir une réponse proche de l’héritage multiplecatégories : spécialisation de code existant même si on a pas accès au code source de ces objets
Popularise quelques cadres (patrons de conception) de programmation : MVC, Target/Action, delegation…
22
![Page 56: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/56.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Objective-C
Héritage simple et pourtant arbre de classes peu profond => L’héritage n’est pas le mécanisme le plus utilisé :
protocol et délégation : permet d’offrir une réponse proche de l’héritage multiplecatégories : spécialisation de code existant même si on a pas accès au code source de ces objets
Popularise quelques cadres (patrons de conception) de programmation : MVC, Target/Action, delegation…
22
•blink •scroll •hide •goTop
![Page 57: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/57.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Objective-C
Héritage simple et pourtant arbre de classes peu profond => L’héritage n’est pas le mécanisme le plus utilisé :
protocol et délégation : permet d’offrir une réponse proche de l’héritage multiplecatégories : spécialisation de code existant même si on a pas accès au code source de ces objets
Popularise quelques cadres (patrons de conception) de programmation : MVC, Target/Action, delegation…
22
•blink •scroll •hide •goTop
![Page 58: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/58.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Objective-C
Héritage simple et pourtant arbre de classes peu profond => L’héritage n’est pas le mécanisme le plus utilisé :
protocol et délégation : permet d’offrir une réponse proche de l’héritage multiplecatégories : spécialisation de code existant même si on a pas accès au code source de ces objets
Popularise quelques cadres (patrons de conception) de programmation : MVC, Target/Action, delegation…
22
•SEL : blink •target: o1
![Page 59: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/59.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Objective-C
Héritage simple et pourtant arbre de classes peu profond => L’héritage n’est pas le mécanisme le plus utilisé :
protocol et délégation : permet d’offrir une réponse proche de l’héritage multiplecatégories : spécialisation de code existant même si on a pas accès au code source de ces objets
Popularise quelques cadres (patrons de conception) de programmation : MVC, Target/Action, delegation…
22
•SEL : blink •target: o1
![Page 60: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/60.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Construction d’IHM
description basée sur des fichiers ressources binaires (.nib) ou XML (.storyboard)
construction programmatique également possible➡ iOS Human Interface Guidelines
23
![Page 61: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/61.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Démo Xcode 924
![Page 62: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/62.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Démo Xcode 924
![Page 63: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/63.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Démo Xcode 924
![Page 64: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/64.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Démo Xcode 924
![Page 65: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/65.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Démo Xcode 924
![Page 66: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/66.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Démo Xcode 924
![Page 67: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/67.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Démo Xcode 924
![Page 68: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/68.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Démo Xcode 924
![Page 69: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/69.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Démo Xcode 924
![Page 70: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/70.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Démo Xcode 924
![Page 71: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/71.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Démo Xcode 924
![Page 72: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/72.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Et maintenant Swift
De nombreux emprunts aux langages fonctionnels (Haskell, Ocaml…) et objets (Objective-C, Ruby, Python…)
Fonctions, clôtures, classes, énumérations, protocoles, structures, extensionsTypage fort, inférence de types, types optionspattern matchingIntégration dans le langage des principaux types du FoundationFramework (NSString, NSDictionary…)Pas de pointeurs (pas de calcul arithmétique sur les références) !Generic types, enumerations
25
![Page 73: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/73.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Et maintenant Swift
prévu pour coexister avec Objective-C
gestion mémoire : ARC et des annotations spécifiques sous formes de mots clés (weak et unknowned)
26
![Page 74: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/74.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Swift 2.0
Version OpenSource avec une distribution pour Linux !
Le langage est complété pour être parfaitement interprétationrétable avec Objective-C
gestion des exceptions (mot clé throws). Gestion des exception par des defer-do-try-catch dont le sens est assez différents des équivalents Java !
Protocol extensions (similaires aux catégories d’Objective-C)
gros travail sur le typage des énumérations
27
![Page 75: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/75.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Swift 2.0
Extension du support du pattern matching guard, for-in …
gestion des versions d’APIs différentes : #available() et @available(). if #available(iOS 9, *){ … }else{ … }
28
![Page 76: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/76.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Swift 3
des changements de conventions syntaxiques qui obligeront à quelques adaptations de code.
suppression des opérateur de types ++, des boucles for de la forme langage C…
Un outil de migration corrigera automatiquement un grand nombre d’erreur.
gestionnaire de package standard.
support Linux amélioré.
Le playground disponible directement sur iOS.
29
![Page 77: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/77.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Swift 4
moins en rupture que la version 3.
Réimplantation des chaînes de caractères et des collections pour plus d’efficacité et de facilité d’écriture ajout de fonctionnalités .
Nouveaux mécanisme de sérialisation JSON, plist.
Mécanismes de détection de conformité (classes, protocols) étendus.
Toujours pas de stabilisation des ABIs (repoussée de la version 3 à la version 4 puis maintenant la future versions 5).
30
![Page 78: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/78.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
le play ground31
![Page 79: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/79.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
le play ground31
![Page 80: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/80.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications32
![Page 81: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/81.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
Le système met l’accent sur les applications (app-centric)
32
![Page 82: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/82.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
Le système met l’accent sur les applications (app-centric)
Une application : 1 tâche, les applications démarrent rapidement (splash screens). Différents types d’applications :
32
![Page 83: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/83.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
Le système met l’accent sur les applications (app-centric)
Une application : 1 tâche, les applications démarrent rapidement (splash screens). Différents types d’applications :
32
![Page 84: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/84.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
Le système met l’accent sur les applications (app-centric)
Une application : 1 tâche, les applications démarrent rapidement (splash screens). Différents types d’applications :
Master-Detail Apps
32
![Page 85: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/85.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
Le système met l’accent sur les applications (app-centric)
Une application : 1 tâche, les applications démarrent rapidement (splash screens). Différents types d’applications :
Master-Detail AppsPage-Based Apps
32
![Page 86: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/86.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
Le système met l’accent sur les applications (app-centric)
Une application : 1 tâche, les applications démarrent rapidement (splash screens). Différents types d’applications :
Master-Detail AppsPage-Based AppsSingle View Apps
32
![Page 87: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/87.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
Le système met l’accent sur les applications (app-centric)
Une application : 1 tâche, les applications démarrent rapidement (splash screens). Différents types d’applications :
Master-Detail AppsPage-Based AppsSingle View AppsTabbed Apps
32
![Page 88: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/88.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
Le système met l’accent sur les applications (app-centric)
Une application : 1 tâche, les applications démarrent rapidement (splash screens). Différents types d’applications :
Master-Detail AppsPage-Based AppsSingle View AppsTabbed AppsGame
32
![Page 89: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/89.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
Le système met l’accent sur les applications (app-centric)
Une application : 1 tâche, les applications démarrent rapidement (splash screens). Différents types d’applications :
Master-Detail AppsPage-Based AppsSingle View AppsTabbed AppsGameAR App
32
![Page 90: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/90.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
Le système met l’accent sur les applications (app-centric)
Une application : 1 tâche, les applications démarrent rapidement (splash screens). Différents types d’applications :
Master-Detail AppsPage-Based AppsSingle View AppsTabbed AppsGameAR AppSticker Pack App et iMessage App
32
![Page 91: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/91.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications33
![Page 92: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/92.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
Un format propriétaire de distribution sous iTunes (archive zip) le format ipa contenant l’ensemble des fichiers :
33
![Page 93: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/93.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
Un format propriétaire de distribution sous iTunes (archive zip) le format ipa contenant l’ensemble des fichiers :
iTunesMetadata.plist fichier XML (DTD Parameter List) Editeur dédié dans XCode
33
![Page 94: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/94.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
Un format propriétaire de distribution sous iTunes (archive zip) le format ipa contenant l’ensemble des fichiers :
iTunesMetadata.plist fichier XML (DTD Parameter List) Editeur dédié dans XCode
33
![Page 95: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/95.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
Un format propriétaire de distribution sous iTunes (archive zip) le format ipa contenant l’ensemble des fichiers :
iTunesMetadata.plist fichier XML (DTD Parameter List) Editeur dédié dans XCode
33
![Page 96: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/96.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
Un format propriétaire de distribution sous iTunes (archive zip) le format ipa contenant l’ensemble des fichiers :
iTunesMetadata.plist fichier XML (DTD Parameter List) Editeur dédié dans XCodeiTunesArtwork (image 512x512)
33
![Page 97: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/97.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
Un format propriétaire de distribution sous iTunes (archive zip) le format ipa contenant l’ensemble des fichiers :
iTunesMetadata.plist fichier XML (DTD Parameter List) Editeur dédié dans XCodeiTunesArtwork (image 512x512)_CodeSignature/CodeResources : PropertyList contenant la signature de chaqeu fichier de l’archive
33
![Page 98: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/98.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
Un format propriétaire de distribution sous iTunes (archive zip) le format ipa contenant l’ensemble des fichiers :
iTunesMetadata.plist fichier XML (DTD Parameter List) Editeur dédié dans XCodeiTunesArtwork (image 512x512)_CodeSignature/CodeResources : PropertyList contenant la signature de chaqeu fichier de l’archiveLe répertoire Payload contient l’application MacOS X (dossier Bundle avec l’extension .app)
33
![Page 99: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/99.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
Un format propriétaire de distribution sous iTunes (archive zip) le format ipa contenant l’ensemble des fichiers :
iTunesMetadata.plist fichier XML (DTD Parameter List) Editeur dédié dans XCodeiTunesArtwork (image 512x512)_CodeSignature/CodeResources : PropertyList contenant la signature de chaqeu fichier de l’archiveLe répertoire Payload contient l’application MacOS X (dossier Bundle avec l’extension .app)Lien vers le fichier de signatures
33
![Page 100: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/100.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
Application.app contient un bundle applicatif de MacOS X
Info.plist : contient des informations (property list) sur l’applicationLe code exécutable (MachO code format) même nom que le dossier sans le .app (binaire signé)fichiers ressources : images, sons, videos, templates… dont Default.pngles dossiers .lproj : contenant les fichiers .nib, les chaines de caractères à localiser…
34
![Page 101: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/101.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applicationsMyApp.app/
Info.plist MyApp Default.png Icon.png Hand.png MainWindow.nib MyAppViewController.nib WaterSounds/ Water1.aiff Water2.aiff en.lproj/ CustomView.nib bird.png Bye.txt Localizable.strings jp.lproj/ CustomView.nib bird.png Bye.txt Localizable.strings
35
![Page 102: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/102.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
Un seul utilisateur UNIX : l’utilisateur mobile
Les applications sont installées dans /var/mobile/Applications/....
Chaque application est isolée dans son propre dossier d’installation qui est son répertoire de travail. Pas de dossier utilisateur accessible à tous, pas de partage facile de données, elles sont cantonnées à l’application
36
Appli.app/ iTunesArtWorkDocuments/ iTunesMetadata.plistLibrary/ Cache, Cookies, Preferences
tmp/
![Page 103: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/103.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
Les applications sont orientées par l’IHM. L’information doit-être succincte claire et structurée en fonction de l’importance de haut en bas
Éviter au maximum la saisie par l’utilisateur
Un seul mécanisme pour quitter : le bouton «Home»
L’application doit-être prête à quitter n’importe quand (Home, appel téléphonique, multitâche, notifications…)
Sauvegarde de l’état au moment où l’on arrête l’application
37
![Page 104: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/104.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
C’est un processus UNIX écrit dans un langage proche de C :
38
![Page 105: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/105.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
C’est un processus UNIX écrit dans un langage proche de C :
38
1 int main(int argc, char *argv[])2 {3 @autoreleasepool {4 return UIApplicationMain(argc, argv, nil , NSStringFromClass([NFA022_AppDelegate class]));5 }6 }
![Page 106: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/106.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
C’est un processus UNIX écrit dans un langage proche de C :
38
1 int main(int argc, char *argv[])2 {3 @autoreleasepool {4 return UIApplicationMain(argc, argv, nil , NSStringFromClass([NFA022_AppDelegate class]));5 }6 }
![Page 107: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/107.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
C’est un processus UNIX écrit dans un langage proche de C :
Cycle de vie d’une application : implanté par un délégué
38
1 int main(int argc, char *argv[])2 {3 @autoreleasepool {4 return UIApplicationMain(argc, argv, nil , NSStringFromClass([NFA022_AppDelegate class]));5 }6 }
![Page 108: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/108.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les applications
C’est un processus UNIX écrit dans un langage proche de C :
Cycle de vie d’une application : implanté par un délégué
38
1 int main(int argc, char *argv[])2 {3 @autoreleasepool {4 return UIApplicationMain(argc, argv, nil , NSStringFromClass([NFA022_AppDelegate class]));5 }6 }
1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions2 - (void)applicationWillResignActive:(UIApplication *)application3 - (void)applicationDidEnterBackground:(UIApplication *)application4 - (void)applicationWillEnterForeground:(UIApplication *)application5 - (void)applicationDidBecomeActive:(UIApplication *)application6 - (void)applicationWillTerminate:(UIApplication *)application
![Page 109: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/109.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Cycle de vie des applications39
![Page 110: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/110.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Cycle de vie des applications39
![Page 111: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/111.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Cycle de vie des applications39
![Page 112: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/112.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Cycle de vie des applications39
![Page 113: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/113.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Cycle de vie des applications39
![Page 114: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/114.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Cycle de vie des applications39
![Page 115: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/115.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Cycle de vie des applications39
![Page 116: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/116.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Cycle de vie des applications39
![Page 117: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/117.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Cycle de vie des applications39
![Page 118: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/118.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Cycle de vie des applications39
![Page 119: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/119.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Cycle de vie des applications39
![Page 120: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/120.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Programmation concurrente40
1 int main(int argc, char *argv[])2 {3 @autoreleasepool {4 return UIApplicationMain(argc, argv, nil , NSStringFromClass([NFA022_AppDelegate class]));5 }6 }
![Page 121: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/121.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Programmation concurrente
Le main thread est transformé en EventLooper => il faut exécuter les tâche longues sur des threads dédiées. IOS propose plusieurs outils classiques :
NSThreads NSTimersNSOperations
L’apparition de systèmes multi cœurs CPU et la monté en puissance de GPU embarqués laisse entrevoir de nouvelles possibilités (Accelerator, Metal APIs…)
40
![Page 122: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/122.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Modèle de sécurité41
![Page 123: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/123.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Modèle de sécurité
Le Sandboxing applicatif pris en charge par iOS interdit pratiquement tout échange de données entre application. Les possibilités se limitent en générale à :
41
![Page 124: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/124.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Modèle de sécurité
Le Sandboxing applicatif pris en charge par iOS interdit pratiquement tout échange de données entre application. Les possibilités se limitent en générale à :
la recopie de fichier d’une application vers une autrel’échange de données par mécanisme du copier/coller depuis la version 3.0l’échange à travers le réseau (messagerie, cloud …)
Toutes les ressources d’une application installée sur un terminal sont signées et le noyau iOS vérifie ces signatures à chaque chargement. L’OS cantonne les accès d’une application à son stricte répertoire de travail (le UserDomain) grâce à un service spécifique
41
![Page 125: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/125.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Modèle de sécurité
Ce modèle de sécurité très frustrant en termes de fonctionnalités :
Rassure sur les aspects sécurité les utilisateurs (contrôles peu contournables). Modèle de sécurité de l’AppStore basé sur la confiance vis à vis du constructeur et de sa boutique -> tests de compatibilité et de sécurité réalisés par Apple.Mais est contradictoire avec le dogme une application : une tâche car pas d’interopérabilité entre applications, les applications doivent implanter toutes les fonctionnalités et réinventer la roue pour disposer d’un processus complet.
42
![Page 126: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/126.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les iOS Dev-Programs
Développer pour iOS, signifie développer sur MacOS X avec l’environnement Xcode. L’environnement est téléchargeable gratuitement. (Registred Developer)
43
![Page 127: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/127.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les iOS Dev-Programs
Développer pour iOS, signifie développer sur MacOS X avec l’environnement Xcode. L’environnement est téléchargeable gratuitement. (Registred Developer)
43
![Page 128: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/128.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les iOS Dev-Programs
Développer pour iOS, signifie développer sur MacOS X avec l’environnement Xcode. L’environnement est téléchargeable gratuitement. (Registred Developer)
Le développement avec test sur simulateur est libre. Mais il est impossible d’installer les programmes sur un appareil.
43
Depuis Xcode 7 ceci n’est plus vrai !
![Page 129: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/129.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les iOS Dev-Programs
Développer pour iOS, signifie développer sur MacOS X avec l’environnement Xcode. L’environnement est téléchargeable gratuitement. (Registred Developer)
Le développement avec test sur simulateur est libre. Mais il est impossible d’installer les programmes sur un appareil.
iOS Developer Program : payant, permet d’obtenir des certificats pour pouvoir tester sur des appareils enregistrés (un certificat par appareil enregistré). Enregistrement nécessaire pour un déploiement sur AppStore.
43
Depuis Xcode 7 ceci n’est plus vrai !
Depuis Xcode 7 ceci n’est plus vrai !
![Page 130: Présentation d’iOS - Freejeanferdysusini.free.fr/Cours/CP48/NFA022_2018_IOS.pdf · J.-F. Susini 17/11/2017 This document is shared by Jean-Ferdy Susini according to terms described](https://reader034.vdocuments.us/reader034/viewer/2022050521/5fa482b4e58138489a44bf38/html5/thumbnails/130.jpg)
J.-F. Susini 17/11/2017
This document is shared by Jean-Ferdy Susini according to terms described in the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Les iOS Dev-Programs
Développer pour iOS, signifie développer sur MacOS X avec l’environnement Xcode. L’environnement est téléchargeable gratuitement. (Registred Developer)
Le développement avec test sur simulateur est libre. Mais il est impossible d’installer les programmes sur un appareil.
iOS Developer Program : payant, permet d’obtenir des certificats pour pouvoir tester sur des appareils enregistrés (un certificat par appareil enregistré). Enregistrement nécessaire pour un déploiement sur AppStore.
43