+

Développement sur iPhone et iPad
Germine Séide M. Sc. A. en Réseau Mobile et Télécommunication

+ Sommaire
 Objectif  Présentation

3

 Introduction
 Architecture  Objective  Interface  Fichiers  Service

du système

C

utilisateur

et réseau de base

+ Objectif
 

4

Appréhender l’environnement de développement des applications pour iPhone: Xcode et Interface Builder. Apprendre les concepts fondamentaux dans la programmation de application native sur iPhone en utilisant le SDK d’Apple Comprendre les concepts de base tels que les Views, View Controller, Protocols et Delegates. Apprendre les techniques avancées pour créer des applications sur iOS. Ce chapitre comprend plus spécifiquement : iPad programming, Location-based Services, et network programming. Apprendre les concepts fondamentaux dans le developpement des web pour iPhone. Comprendre les notons de base des technologies web telles que HTML, CSS, and JavaScript, de même que les outils qui permettent de developper les applications web pour iPhone – Dashcode and le simulateur.

 

 

 

 

+ Présentation
   

5

Germine Séide Formation
 

MSc In mobile computing network, École Polytechnique de Montréal, Montréal, QC M.Sc.A. M. Sc. In Wireless tracking System, Japan Advanced Institute of Science and Technology, Japan B. eng B. Sc. in Engineering., École Supérieure d’Infotronique d’Haïti, Haiti

 

 

 

Expérience
Développement d’applications web et mobile. Elle offre des solutions pour des projets liés à la santé pour le suivie et le diagnostic. Elle a conçu et mise en œuvre des applications qui peuvent analyser, en temps réel, les mesures telles que le rythme cardiaque et la respiration pour les athlètes et les astronautes, à l'aide de capteurs adaptés aux technologies de la santé.

+ Présentation 6   One Minute relaxation   Relaxation process   Achievements program   Detailed history   Detailed Instructions   Sync your devices   Social networking .

+ Présentation 7   Heart Rate Recovery   Training process   Achievements program   Training history   Detailed Instructions   Sync your devices   Social networking .

+ Présentation HEART R AT E CALCULATOR Train.   8 ONLY $0. Measure.99 Heart Rate Recovery   Training process   Achievements program   Training history   Detailed Instructions   Sync your devices   Social networking .

+ Introduction  Architecture  Architecture 9 des systèmes des applications de développement  Environnement  Déploiement  Diffusion  Diffusion sur matériel pour test par l’App Store .

.+ 10 Limitations du matériel Limiter la taille des application au maximum Les capacités de stockage (8Go à 64Go) Les interactions avec l'iPhone sont limitées. L’énergie disponible est limitée. La quantité de mémoire est elle aussi limitée.

Une connectivité Internet Localisation géographique Un écran tactile multitouche. Un OS basé sur MacOS X.+ Atouts du matériel Un appareil photo. Un accéléromètre 11 .

  Le matériel n’est pas accessible directement   Quatre niveaux sont accessibles. iPhone et ipod Touch utilisent le même système d’exploitation: iOS. les plus hauts étant: Cocoa Touch Media Core Services Core OS .+ Introduction  Architecture   Les 12 des systèmes produits iPad.

+ Introduction  Architecture Couche   13 des systèmes Commentaire Interface utilisateur pour créer . gestion de la voix Affichage de publicité sous forme de bannières et réaction aux clics Affichage de cartes avec annotations textuelles. l’état de la batterie. standard (punaises) personnalisées et sophistiquées de plus. caméra. éditer et sélectionner des contacts Interface utilisateur pour gérer des evenements Réseau en peer-to-peer. et de SMS Interfaces en Objective C pour implémenter la gestion graphique et les événements associés ainsi que certaines caractéristiques telles que des informations sur l’appareil. accéléromètre. Elles sont maintenant déplacables par code ou par utilisateur Création et envoi de courriels. bibliothèque d’images. capteur de proximité Framework Addres Book Ui Event Kit UI Game Kit Architecture des systèmes Cocoa Touch iAd Map Kit Message UI UIKit .

images.+ Introduction  Architecture Couche Framework Asset Library AV Foundation 14 des systèmes Commentaire Accès aux photos et vidéos Jouer de l’audio d’un fichier ou en mémoire. transformations… création. graients. jouer et la vibration Interfaces à Quartz 2D API (comme Mac OS X): dessin. coordonnées. Enregistrer du son et gérer ses informations. Préférez UIKit (sauf pour un meilleur contrôle) Core graphics Core Image Core Text . de sa position et des polices. couleurs. Beaucoup plus de possibilités. y compris l’enregistrement et l’affichage de vidéos Core Audio Média Manipuler les fichiers audio: enregistrer. mixer. affichage et décodage de fichiers PDF (en C: pas object!) Gestion des filtres pour des images Gestion du texte.

DNS. des alarmes. préférences. des règles Core Data Core Foundation Core Location Core Media Core Telephony Event Kit . threads.+ Introduction  Architecture Couche Framework 15 des systèmes Commentaire Adress Book CFNetwok CoreServices Accès par code aux contacts Gestion du réseau: SSL. dates/heures. evenements Gestion des rendez-vous du calendrier. TSL. sockets Accès aux coordonnées GPS. ports. suivi de position Gestion bas niveau des médias Gestion bas niveay du téléphone. strings. https. http. compas. FTP Gestion du modèle de données dans une architecture MVC (graphiquement avec Xcode) Collections. URL et Flux.

clés publiques/privées. Mémoire. accès à des serveurs …) Calculs Mobile CoreServices QuickLook Store Kit System Configuration Acelerate Core OS External Accessory Communication avec le matériel externe Security Système Certificats. communication interprocessus . fichiers. réseau. chiffrement . cellulaire.. threads.+ Introduction  Architecture Couche Framework 16 des systèmes Commentaire Foundation CoreServices Encapsulation en Objective-C Identificateurs uniforme Inetrface de prévisualisation de fichiers Gestion bas niveau d’achat au travers d’iTunes Accès a de l’information sur le réseau (wi-Fi.

plus une autre pour personnalisation accessible par un bouton par rotation (iPhone) ou par-dessus (iPad) Vide X X Pour tous les autres cas … .+ Introduction  Architecture Architecture Basée sur des documents Maitre-detail Jeu OpenGL Pages Basée sur une vue Tabulaire Utilitaire 17 des applications iPad X X X X X X iPhone X X X X X X X Commentaire Une vue pour gerer des documents locaux ou dans iCloud Une maitre sous forme de liste et le detail de la séléction en même temps (iPad) ou séparé (iPhone) Base pour les jeux OpenGL Base pour les applications qui tournent les pages pour les différentes vues Une seule vue Vue avec tabulateurs représentant chacun une vue Vue principale.

jusqu’à son désaccord. Prévenir clairement et exhaustivement l’utilisateur de l’information manipulée et son utilisateur.. . un indicateur doit notifier l’utilisateur d’un enregistrement en cours. Pas de conversion à partir d’autres langages N’utiliser que l’API documentée par Apple Exclusivement manipuler de l’information dans un contenant désigné pour elle-même Avoir les mêmes caractéristiques et fonctionnalités en mode compatible sur l’iPad que sur l’iPhone Utiliser le multitâches uniquement dans l’esprit de la documentation Être conforme à ‘Human Interface Guidelines’ et autres documentations fournies par Apple Toute manipulation quelconque d’information sous forme quelconque par ou en rapport avec l’application doit respecter les lois locales. Vous devez protéger ces informations de tout accès par des tierces parties. pour des applications de guidage en temps réel: YOUR USE OF tHIS REAL TIME ROUTE ….+ Contraintes de développement   18 Les applications doivent: Exigence Etre exclusivement développées en Objective –C. Ajouter le texte suivant à l’agrément. le ‘Program Requirements’ et le consentement de l’utilisateur. C ou JavaScript. Par exemple. C++. Respecter la loi de chacun des endroits ou votre application est rendue disponible.

+ Contraintes de développement   19 Les applications doivent: Exigence Agréer la licence de Google pour utiliser Google Mobile Maps (http://code. Spécifiez alors qu’Apple n’a rien à y voir Respecter l’attachement 2 (Additional Terms for Use of the App Purchase API) si elle est payante Obtenir le consentement écrit d’Apple pout toute inclusion de publicité (Advertising API) Être reconnu par Apple et par le fournisseur des accessoires (lui-même reconnu par le programme MFI d’Apple) avec lequel l’application interagit. sans qu’Apple ait à payer quoi que ce soit Même reglément pour tout autre contenu Respecter les licences de toute partie libre Être le seul sponsor de tout sondage ou tirage au sort promotionnels.com/apis/maps/ terms/iPhone.google.html) Respecter les droits d’auteurs des sons et musiques intégrées. Satisfaire les meilleures pratiques et autres guides sur l’utilisation du réseau cellulaire si besoin. et ne pas l’utiliser excessivement (selon le jugement raisonnable d’Apple) .

seau si vous utilisez VoIP ou des SMS. utiliser ou révéler de l’information personnelle ou sur le matériel sans l’approbation de l’utilisateur.. de vérifier auprès de leur fournisseur de r. Respecter l’attachement 3 relatif à « Additional Terms for the Game Center» (si utlisé) Respecter l’attachement 4 relatif à « Additional Terms for the use of iCloud » (si utlisé)   Les applications ne doivent pas: Exigence S’installer elles-mêmes ou installer d’autres applications Utiliser d’autres frameworks. sauf en passant par l’interpréteur d’Apple avec son APIs Fournir. débloquer ou activer des fonctionnalités sans passer par l’App Store Collecter. Pas de perturbation. avant l’achat. .. de spamming. API ou quoi que ce soit Utiliser du code interprété. d’abus. de menaces .+ Contraintes de développement   20 Les applications doivent: Exigence Informer l’utilisateur. de harclement.

différent d’Apple Developper au l’adresse http://developper.   Suivre les étapes suivantes: 1. 21 .  Acceptez d’avoir un certificat de développement.com/membercenter.apple.  Loguez vous 7. puis à gauche Provisioning Profiles (dans iPhone Development) 3.  Branchez votre matériel 5.+ Déploiement sur matériel   Pour déployer les applications sur du matériel   vous devez avoir une identité numérique.  Ouvrez Xcode Organizer 2.com/programs/iphone   Compte personnel: les applications seront en votre nom personnel ($99/an)   Entreprise: les applications seront au nom de la compagnie ($ 299/an)   Chaque compte donne accès a l’iPhone Provisionning Portal à partir du Memeber Center au https://developper.  Cochez Automatic Device Provisioning 4.apple. accessible par le iPhone developper Program.  Sélectionnez Devices.  Cliquez Use for Developpment 6.

Entrez le nom (utilisez l’adresse courriel!) et le numéro reçu.com) par la création des équipes de beta testeur sur TestFlight et en déployant l’application pour ces équipes. (TestFlight fait le reste)   Diffusion sur Ad Hoc Provisioning Profiles:   Demandez-leur leur Device ID et ajoutez le au portail   Sélectionnez à gauche Devices.+ Diffusion pour test   22 Diffusion sur TestFlight:   La phase de test de l’application par les bêta-testeurs peut se faire:   via le iPhone Provisioning Portal       en utilisant le service gratuit TestFlight (https://testflightapp.       Cliquez Add Devices. . Cliquez le symbole + pour ajouter d’autes utilisateurs.

mobileprovision dans Provisioning Profiles de iPhone Developement.   Choisssez Copy item.   Sélectionnez Ad Hoc.   Sélectionnez l’onglet Distribution. puis Add . sélectionnez l’image et cliquez Add. choisissez un nom de profil. l’Apple ID et sélectionnez chacun des matériels que doit utiliser votre application. Télécharger le profile et installez le avec Xcode Organizer Glisser/déplacer le fichier <profil>.+ Diffusion pour test   23 Diffusion sur Ad Hoc Provisioning Profiles (suite):         Créer un Ad Hoc Provisioning Profile si vous n’en avez pas encore un pour cette application   Sélectionnez à gauche Provisioning.   Cliquez New Profile. selectionnez le groupe Ressources   Choisissez Project | Add to Project. Ajoutez une icône à votre application   Créer une image PNG ou JJPEG de 512x512 nommée iTunesArtwork sans extension   Dans groups & files.

Double-cliquer l’archive: <MyApplication>. selectionnez l’archive à envoyer. positionnez Actives Executable au matériel cible   Chisissez Build | Build and Archive   Il est conseillé d’avoir une configuration spécifique (en copiant la configuration Release) Envoyervotre application   Dans l’organizer.   Cliquez E-Mail. l’application apparaitra dans la liste des applications de iTunes Synchroniser leur matériel   Les testeurs devront     . menu Overview.ipa.   Cliquez Share Application.+ Diffusion pour test   24 Diffusion sur Ad Hoc provisioning profiles:     Archivez votre application   Affecter Code Signing Identity au profil de test   Dans la fenetre de projet.   Tapez le mesage que vous voulez envoyer aux testeurs.

cliquez Submit Application to iTunes Connect Il faut se loguer     . à la seule différence que le provisioning profile doit être de type App Store et non Ad Hoc Au lieu de cliquer Share Application.+ Diffusion par l’App Store   25 Même principe que la diffusion pour test.

complément de code. AppleScript pour personnaliser la construction Editer et contribuer.+ Environnement de développement     26 Xcode est un IDE complet pour le développement Xcode possède les caractéristiques suivants: Caractéristiques Commentaires Gestion de vos produits Syntaxe colorée. Répartir les projets sur d’autres machines Snapshots locaux … Gestion de projet Edition de code Affichage de documentation Compilation Débogage Distribution Gestion de source .. réingénierie … Globalement ou pour le code sélectionné Prédictive. formateurs personnalisés .

php Cliquez sur .action Avoir un Apple ID et l’enregistrer en tant que développeur au http://developper.apple.com/programs/start/register/create.+ Environnement de développement   27 Télécharger Xcode       Utiliser le lien https://developer.com/devcenter/ios/index.apple.

+ Environnement de développement   28 Télécharger Xcode   Cliquez sur .

+ Environnement de développement   29 Télécharger Xcode   Entrez identifiant (Apple ID) et mot de passe .

+ Environnement de développement   30 Télécharger Xcode   Choisissez la dernière version en cours .

+ Environnement de développement   31 Installation de Xcode .

+ Environnement de développement   32 Installation de Xcode .

+ Environnement de développement   33 Installation de Xcode .

+ Environnement de développement   34 Installation de Xcode .

+ Environnement de développement   35 Installation de Xcode .

+ Environnement de développement   36 Installation de Xcode .

+ Environnement de développement   37 Installation de Xcode .

+ Permet de créer un nouveau projet Splash Screen de Xcode 38 Affiche l’historie des projets .

.Cliquer sur iOS Application template pour créer une nouvelle application Des applications pour iOS 39 Des applications pour Mac OS Cliquer sur le boutton « Next » Chaque bouton représente un exemple d’application que Xcode utilisera pour générer des codes vous permettant de démarrer rapidement une nouvelle application.

esih.rte0808.RTE0808.Ce champ reçoit le nom du projet qui est Lab1_GroupX » Taper edu. .groupx Ce champ est utilisé pour identifier l’application Taper ‘Calculatrice’ comme préfixe des classes qui seront générées par le modèle (template) choisi.esih.monnom 40 Lab1_Groupx edu.

esih.rte0808.41 Lab1_Groupx Dans le cadre de ce TP on choisira iPhone edu. . En choisissant « Universal » Xcode crée deux modèles de vues dans la même application.groupx Permet de créer une application pour iPad uniquement avec des caractéristiques spécifiques au iPad Une application universelle est exécutée sur le iPhone et le iPad.

esih.groupx Storyboard permet de mieux organiser les vues MVC. Permet de faire des test sur des applications ARC fait une gestion automatique de l’allocation des objets dans la mémoire Cliquez sur Next .42 Lab1_Groupx edu.rte0808.

Sauvegarder le TP dans ce répertoire 43 Le contrôle de version avec git sera abordé dans un autre cours Créer un répertoire pour le cours Cliquer pour créer le projet .

m et . . Mais le modèle devra être créer Les fichiers .storyboard.h contiennent les codes sources du controller.44 Les delagetes seront traités dans le cours 2 Les vues sont visibles dans MainStoryboard.

Permet de choisir sur quel appareil exécuté de l’application 45 Cliquer pour exécuter l’application La vue .

46 Bien! Un écran apparaît au bas de la page qui servira au débogage de l’application. .

Cliquer ce bouton pour arrêter l’exécution 47 Simulateur iOS Très bien mais la vue n’affiche rien! .

48 Permet d’afficher la vue Permet d’afficher la vue et le controller (codes sources) Affiche le fichier XML Permet d’afficher et fermer le navigateur de gauche Logs obtenus à chaque exécution du projet Permet d’afficher et de fermer le mode Console Permet d’afficher et de fermer le navigateur de droite Permet d’ouvrir l’organisateur de document de Xcode Break Point I s s u e s ( l e s Wa r n i n g s d u compilateur) Recherche et remplacer (Find/Replace) .

+ Prochain cours – Objective-C  Introduction  Classe  Variable 49 d’instance  Méthodes  Instanciation  Constructeur  Destructeur  Encapsulation .

+ 50 Merci! Questions? .

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.