Introduction
- Types de terminaux.
- Le programme développeur Apple.
- Architecture d'une application iOS.
- Outils et SDK.
Travaux pratiques
Prise en main de l'environnement de développement.
Introduction à Objective-C
- Origine du langage Objective-C.
- Syntaxe de base. Notion de classe.
- Les Controllers.
- Identification des objets, constantes : le type id, la valeur nil.
- Héritage.
- Références dans l'arborescence.
- Description d'une méthode Objective-C.
- Initialisation de l'instance d'un objet.
- Les protocoles et le principe de la délégation (les delegates).
- Les sélecteurs.
- Le framework Foundation (chaînes de caractères, listes, dictionnaires).
- Le comptage de références.
Travaux pratiques
Ecriture de programme en Objective-C. Un exemple avec le Slider. Gestion de la mémoire.
Enregistrement au programme Apple
- Enregistrement (informations personnelles, bancaires, de développement). Provisioning.
- Enregistrement d'un certificat.
- Ajouter un périphérique, identifiant UDID.
- Ajouter un AppID Identifiant d'application.
L'environnement de développement
- Description de l'interface (XCode, Simulateur, Instruments...).
- Installation du SDK Apple (téléchargement, installation, localisation).
- Méthodologie de développement.
- Création d'un projet sous XCode. Interface XCode.
- Les fichiers initialement générés.
- Cycle d'exécution de l'application.
- Définition des propriétés de l'application et le fichier Info.plist.
- L'interface Builder et ses composants.
- Construction de l'application.
- Modèle-Vue-Contrôleur (MVC).
- Les actions (déclarations, liaisons à l'interface).
- Compilation et lien. Utilisation du simulateur.
- Limitations du simulateur.
- Mécanismes d'aide, de complétion et de debug.
- Utilisation du debugger et de la console, les options de Debug ?natives?, les problèmes généraux de compilation.
Travaux pratiques
Création d'une application et débogage.
Conception et ergonomie
- Méthodologie.
- Identifier les fonctions-clés de votre applicatif.
- Choisir le Design Pattern.
- Ebaucher le storyboard et une charte graphique.
- Développement de l'interface et de l'application.
- Tests et optimisation.
- Publication sur l'AppStore (éléments nécessaires, signature...).
- Liste des icônes nécessaires à la publication.
Travaux pratiques
Améliorer la conception et l'ergonomie d'une application.
Développement
- Instancier un contrôleur de vues.
- Dimensions de l'application.
- Dimensions des éléments graphiques.
- Les éléments de saisie simple.
- Les controls simples : Segmented controls. Switches. Progress Views. WebViews.
- Le Slider.
- Les contrôleurs de navigation, d'images, de vues et de vues personnalisées.
- Ajouter des icônes.
- Les Frames.
- Rotation et animation des vues.
- Contenu de la barre de navigation.
- Listes d'éléments.
- Action sur les listes.
- Utilisation du multimédia (son, vidéo).
- Lancement de l'application, icône de lancement. Splash Screen. Ecran de lancement.
Travaux pratiques
Manipuler des éléments de base, des vues, des éléments de navigation, le TableView, des listes. Ajouter un contenu multimédia.
Réseaux et Web Services
- Architecture des couches réseau dans iOS.
- Utiliser des web services REST et JSON.
- Les API et Framework d'accès au réseau (NSURL, NSURLSession...).
- Les notifications locales et réseaux.
- Introduction au multithreading.
- Exécuter des tâches de manière asynchrone.
Travaux pratiques
Accéder à des services Web. Gérer l'asynchronisme.
Lire et enregistrer des données
- Les méthodes de stockage. Ecrire dans les ressources de votre application.
- Sauvegarder et restaurer une chaîne de caractères dans un fichier.
- Les préférences utilisateur. La classe NSUserDefaults.
- Les fichiers de propriétés. Les plist.
- Le format de données JSON. Manipulation XML.
- Code principal dans le RootViewController.
Travaux pratiques
Sauvegarder et restaurer des données. Manipuler des fichiers XML, JSON et préférences utilisateur.
Introduction aux fonctions avancées
- La manipulation de l'écran (détection de la position et des mouvements du doigt).
- Déplacements simples, utilisation de l'accéléromètre. Zoom simple.
- Internationaliser ses applications.
- Utilisation du WiFi (détection de l'accès au réseau...) et du GPS (informations de géolocalisation...).
- Créer une animation, enchaîner les images.
Travaux pratiques
Manipuler quelques fonctions avancées.