- Référence : UPHA
- Durée : 4 jours (28h)
- Lieu : Au choix. À distance ou en présentiel, à Paris ou en Régions
En intra
Vous pouvez suivre cette formation en direct depuis votre domicile ou votre lieu de travail. Plus d'informations sur notre solution de classe à distance...
Cette formation Objective C, développement iOS avancé intensive vous permettra de perfectionner vos techniques de développement pour iPhone ou iPad autour de Xcode sous iOS (multi-threading, web services, géo-localisation, stockage des données, son, animation). Il s'agit de vous faire gagner du temps en vous proposant une synthèse des principales classes, méthodes, et bonnes manières pour les utiliser de façon performante à travers les exemples couramment rencontrés dans les applications professionnelles fonctionnant sous iOS.
Les spécificités de l'iPad, des écrans secondaires et des nouveaux matériels sous iOS seront abordées.
Cette formation vous permettra également d'être le référent technique pour le paramétrage des équipements iPhone ou iPad. Vous saurez définir une configuration type (réglages, applications) et la déployer rapidement (en wifi si nécessaire) sur l'ensemble de vos appareils en vous appuyant éventuellement sur votre propre AppStore.
Objectif opérationnel :
Savoir déployer iOS avancé (iPhone/iPad).
Objectifs pédagogiques :
A l'issue de cette formation Objective C, développement iOS avancé, vous aurez aquis les connaissances et compétences nécessaires pour :
Public :
Cette formation iphone s'adresse aux ingénieurs logiciels, développeurs, analystes programmeur et aux chefs de projet.
Prérequis :
Avoir suivi la formation « iPhone / iPad développement (réf. UPHD) » ou disposer de connaissances équivalentes (Objective C, bases Xcode et développement iPhone).
Matériels (iPhones, iPods touch, iPad) Différences entre les versions d'iOS Les nouveautés de l'environnement de développement Xcode Storyboard, segue, Autolayout et rotation Particularités du système d'exploitation iOS Les frameworks de base (Foundation, Cocoa, ...) Les spécificités de l'iPad, les applications universelles
Les possibilités du multithreading Architecture technique du multithreading Un gain de performance systématique ? Les classes NSThread, NSInvocation, NSInvocationQueue, NSInvocationOperation Classes et méthodes d'appels et de gestion des webservices Multithreading et appels de web services intensifs Utilisation du Grand Central Dispatch (GCD) Les alternatives au multithreading (fonctions asynchrones, timer, key-value observer, idle-time-notification, ...) Les «objets» blocks en Objective-C Comment "réveiller" son application (background fetch, background transfer, etc.) ?
Conseils et bonnes pratiques Produire des interfaces animées avec Core Animation Proposer des animations réalistes avec UIKit Dynamics Déplacer un élément avec Sprite Kit L'interface unifiée pour accéder à CoreImage, CoreVideo et CoreGraphics/Quartz Animation : la hiérarchie d'arborescence de calques (Layers) Faire tout type de transition avec les layers (CATransition) Rotation d'une UIImage dans une UImageView Gérer un contenu plus grand que le contenant (UIScrollView) Introduction à OpenGL (décomposition d'une image en triangles, matrices et transformations)
Passage de données en avant Utilisation d'un protocole pour un passage de données en arrière Utilisation d'unwind segues pour un passage de données en arrrière Ajouter un index Mise en place du pull to refresh Mise en place du swipe to delete
Connaître la position géographique de l'utilisateur Les Classes CLLocation et CLLocationManager, et le protocole optionnel CLLocationManagerDelegate Les possibilités du framework MapKit (plan de ville, cartographie, marques, ...), Mise en oeuvre des deux variantes de Reverse-Geocoding Enregistrement auprès du système de la supervision de régions géographiques
Rappels d'utilisation d'une plist (property list) Rappels XML Rappels JSON Architecture de CoreData Représentation modélisée des relations entre les objets avec CoreData Impact de l'utilisation de CoreData pour les objets (context) Vocabulaire (managed objects, fetch request, ...) Méthodes et propriétés à utiliser pour sauvegarder/charger un objet Transaction et objet
Une nouvelle philosophie pour les utilisateurs et les développeurs Le modèle iCloud d'Apple (architecture et services offerts) Les différentes API de stockage iCloud Le principe du stockage par paires clé/valeur iCloud et le modèle SandBox pour les applications Exemples de stockage en ligne avec iCloud API bas niveau (gestion de version) Déployer des documents, packages et répertoires pour ces applications sur iCloud Une SandBox iCloud pour chaque application
Rappels des bonnes pratiques à propos de l'internationalisation Cas des langues non occidentales et des variantes régionales Exemples de chargement d'image dynamique en fonction de la langue (Locales)
Les 3 couches de l'architecture de l'API : bas niveau (HAL, I/O, Core Midi), niveau intermédiaire (Audio Unit, Audio Services, ...) et haut niveau (Open AL, Media Player, ...) Lecture audio en utilisant la classe AVAudioPlayer Utiliser les APIs pour les unités et codecs audios avec AudioUnit Créer une interface utilisateur Cocoa pour une unité audio avec CoreAudioKit S'interfacer avec le hardware (HAL services) avec CoreAudio La richesse du framework OpenAL (Audio Library) Mise en oeuvre du Media Player standard pour l'audio et la video Le framework AudioToolbox pour accéder aux applications
Vue d'ensemble des paramètres importants Savoir observer les performances Adapter le code avec la compilation conditionnelle Adapter le code en fonction des équipements Exemples concrets de gains de performances avec Xcode De la bonne utilisation du système de fichiers Debugger efficacement avec gdb Améliorer les performances avec l'outil Instruments
Intégration des réseaux sociaux à tous les niveaux du système (intégration Twitter) La reconnaissance faciale (principes et exemples d'utilisation) Exemple d'identification via une webcam
« L'attrait » de l'iPhone pour les pirates Fonctionnement classique d'une application (API Apple, isolation, bac à sable mémoire et système de fichiers, ...) Réflexions sur les failles de chaque composant (matériel, logiciel standard, application, ...) Blocage/Déblocage officiel d'un iPhone
Recevoir des événements extérieurs en « continu » (Apple Push Notification Service) Différences avec une application traditionnelle (Pull design) Comprendre le circuit de notification (Notification Server, APN Service, équipement, certificat SSL, application) Contenu d'une notification APN au format JSON (liste de propriétés, token) Mise en oeuvre du push côté client (méthodes et API utilisées, certificat) Mise en oeuvre du push côté serveur (token, gestion des notifications, feedback service) Limites des notifications (messages critiques, taille des messages, ...) Attention à la montée en charge : les solutions Application Service Provider Notification locales associées, options APNS Nouvelles API, options pour le programmeurs et pour l'utilisateur. Mise en perspective avec la nouvelle gestion de la géo-localisation, notification locales associées, ...
IN/OUT testinf ( test "over the air") Distribution sans fil des applications Les «contraintes» préconisées par Apple Les achats intégrés (StoreKit,InApp purchase) A quoi servent les différents certificats de distribution ? Retrait ou mise à jour d'une application Quels outils pour le versionning de l'application distribuée ? Disposer de son « propre » AppStore : le déploiement «In House» Les contraintes d'Apple (licence « Enterprise program », DUNS, number obligation) Le coût exact des licences Créer son propre dépôt d'application Utilisation d'iTunes en entreprise Mise en place de iAd pour ajouter des bandeaux publicitaires à vos applications Configuration des équipements pour utiliser un dépôt précis
Présentation de l'outil iPhone « Configuration Utility » Créer un profil de configuration (réglages wifi, mail, ...) Paramétrage des restrictions (installation, achat, navigation Web, ...) Réglages avancés (LDAP, VPN, point d'accès, proxy, ...) Gérer les applications avec les profils d'approvisionnements (installation, expiration) Déployer un profil de configuration sur plusieurs équipements (USB, mail, WEB) Savoir interpréter les événements de la console d'un équipement
Beaucoup de pratique, autour des différents frameworks présentés, consolidée par la réalisation d'une application globale jusqu'à sa commercialisation et son déploiement. TP complet : utilisation optimisée de Web Services en multi-threads (API Flickr, hébergement de photos avec affichage intelligent, observation détaillée du comportement du cache et du multi-thread, modification concrète des performances). TP complet : Core Data (modélisation graphique d'une base de photos, animations avec le SpriteKit et UIDynamics, génération de la base et des classes (mapping), mise en oeuvre de l'application cliente sous iOS).
Les avis figurant ci-dessous sont issus des fiches d’évaluation que remplissent les participants à la fin de la formation. Ils sont ensuite publiés automatiquement si les personnes ont explicitement accepté que nous les diffusions.
Mon avis sur le formateur :
"L'animateur connaît parfaitement son sujet ce qui est agréable pour répondre aux interrogations que l'on peut avoir."
Mon avis sur la salle de formation :
"La salle est très bien et le matériel est très satisfaisant pour travailler dans de très bonnes conditions. Il manque juste un iPad par stagiaire pour tester le déploiement sur un device."
Fondamentaux et aspects intermédiaires pour développer des applications web et iOS performantes et sûres
Swift, Xcode, iOS (dernières versions en cours)
Simplifier le développement d'applications pour iPhone et iPad en utilisant les dernières fonctionnalités de Swift et SwiftUI
Formations Informatique
et Management
en ligne à ce jour
+
Stagiaires dans nos salles
de cours sur
l'année
%
De participants satisfaits
ou très satisfaits de nos
formations
Formateurs experts
validés par
PLB