Anda di halaman 1dari 49

+

Dveloppement sur iPhone et iPad


Germine Side M. Sc. A. en Rseau Mobile et Tlcommunication

+ Sommaire
Objectif Prsentation

Introduction
Architecture Objective Interface Fichiers Service

du systme

utilisateur

et rseau de base

+ Objectif

Apprhender lenvironnement de dveloppement des applications pour iPhone: Xcode et Interface Builder. Apprendre les concepts fondamentaux dans la programmation de application native sur iPhone en utilisant le SDK dApple Comprendre les concepts de base tels que les Views, View Controller, Protocols et Delegates. Apprendre les techniques avances pour crer des applications sur iOS. Ce chapitre comprend plus spcifiquement : 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 mme que les outils qui permettent de developper les applications web pour iPhone Dashcode and le simulateur.

+ Prsentation

Germine Side Formation

MSc In mobile computing network, cole Polytechnique de Montral, Montral, 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 Suprieure dInfotronique dHati, Haiti

Exprience
Dveloppement dapplications web et mobile. Elle offre des solutions pour des projets lis la sant pour le suivie et le diagnostic. Elle a conu et mise en uvre des applications qui peuvent analyser, en temps rel, les mesures telles que le rythme cardiaque et la respiration pour les athltes et les astronautes, l'aide de capteurs adapts aux technologies de la sant.

+ Prsentation

One Minute relaxation Relaxation process Achievements program Detailed history Detailed Instructions Sync your devices Social networking

+ Prsentation

Heart Rate Recovery Training process Achievements program Training history Detailed Instructions Sync your devices Social networking

+ Prsentation
HEART R AT E CALCULATOR
Train, Measure.

ONLY $0.99

Heart Rate Recovery Training process Achievements program Training history Detailed Instructions Sync your devices Social networking

+ Introduction
Architecture Architecture

des systmes des applications de dveloppement

Environnement Dploiement Diffusion Diffusion

sur matriel

pour test par lApp Store

10

Limitations du matriel
Limiter la taille des application au maximum Les capacits de stockage (8Go 64Go)

Les interactions avec l'iPhone sont limites.

Lnergie disponible est limite.

La quantit de mmoire est elle aussi limite.

+ Atouts du matriel
Un appareil photo. Une connectivit Internet Localisation gographique Un cran tactile multitouche. Un OS bas sur MacOS X. Un acclromtre

11

+ Introduction
Architecture
Les

12

des systmes

produits iPad, iPhone et ipod Touch utilisent le mme systme dexploitation: iOS. Le matriel nest pas accessible directement Quatre niveaux sont accessibles, les plus hauts tant:
Cocoa Touch Media Core Services Core OS

+ Introduction
Architecture
Couche

13

des systmes
Commentaire Interface utilisateur pour crer , diter et slectionner des contacts Interface utilisateur pour grer des evenements Rseau en peer-to-peer, gestion de la voix Affichage de publicit sous forme de bannires et raction aux clics Affichage de cartes avec annotations textuelles, standard (punaises) personnalises et sophistiques de plus. Elles sont maintenant dplacables par code ou par utilisateur Cration et envoi de courriels, et de SMS Interfaces en Objective C pour implmenter la gestion graphique et les vnements associs ainsi que certaines caractristiques telles que des informations sur lappareil, ltat de la batterie, camra, bibliothque dimages, acclromtre, capteur de proximit

Framework Addres Book Ui Event Kit UI Game Kit

Architecture des systmes

Cocoa Touch

iAd Map Kit Message UI

UIKit

+ Introduction
Architecture
Couche Framework Asset Library AV Foundation

14

des systmes
Commentaire Accs aux photos et vidos Jouer de laudio dun fichier ou en mmoire. Enregistrer du son et grer ses informations. Beaucoup plus de possibilits, y compris lenregistrement et laffichage de vidos

Core Audio
Mdia

Manipuler les fichiers audio: enregistrer, mixer, jouer et la vibration Interfaces Quartz 2D API (comme Mac OS X): dessin, graients, images, couleurs, coordonnes, transformations cration, affichage et dcodage de fichiers PDF (en C: pas object!) Gestion des filtres pour des images Gestion du texte, de sa position et des polices. Prfrez UIKit (sauf pour un meilleur contrle)

Core graphics

Core Image Core Text

+ Introduction
Architecture
Couche Framework

15

des systmes
Commentaire

Adress Book CFNetwok


CoreServices

Accs par code aux contacts Gestion du rseau: SSL, TSL, DNS, http, https, FTP Gestion du modle de donnes dans une architecture MVC (graphiquement avec Xcode) Collections, strings, dates/heures, prfrences, URL et Flux, threads, ports, sockets Accs aux coordonnes GPS, compas, suivi de position Gestion bas niveau des mdias Gestion bas niveay du tlphone, evenements Gestion des rendez-vous du calendrier, des alarmes, des rgles

Core Data Core Foundation Core Location Core Media Core Telephony Event Kit

+ Introduction
Architecture
Couche Framework

16

des systmes
Commentaire

Foundation
CoreServices

Encapsulation en Objective-C Identificateurs uniforme Inetrface de prvisualisation de fichiers Gestion bas niveau dachat au travers diTunes Accs a de linformation sur le rseau (wi-Fi, cellulaire, accs des serveurs ) Calculs

Mobile CoreServices QuickLook Store Kit System Configuration Acelerate

Core OS

External Accessory Communication avec le matriel externe Security Systme Certificats, cls publiques/prives, chiffrement .. Mmoire, threads, fichiers, rseau, communication interprocessus

+ Introduction
Architecture
Architecture
Base sur des documents Maitre-detail Jeu OpenGL Pages Base 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 slction en mme temps (iPad) ou spar (iPhone) Base pour les jeux OpenGL Base pour les applications qui tournent les pages pour les diffrentes vues Une seule vue Vue avec tabulateurs reprsentant chacun une vue Vue principale, plus une autre pour personnalisation accessible par un bouton par rotation (iPhone) ou par-dessus (iPad)

Vide

Pour tous les autres cas

+ Contraintes de dveloppement

18

Les applications doivent:


Exigence

Etre exclusivement dveloppes en Objective C, C++, C ou JavaScript. Pas de conversion partir dautres langages Nutiliser que lAPI documente par Apple Exclusivement manipuler de linformation dans un contenant dsign pour elle-mme Avoir les mmes caractristiques et fonctionnalits en mode compatible sur liPad que sur liPhone Utiliser le multitches uniquement dans lesprit de la documentation tre conforme Human Interface Guidelines et autres documentations fournies par Apple Toute manipulation quelconque dinformation sous forme quelconque par ou en rapport avec lapplication doit respecter les lois locales, le Program Requirements et le consentement de lutilisateur. Par exemple, un indicateur doit notifier lutilisateur dun enregistrement en cours. Prvenir clairement et exhaustivement lutilisateur de linformation manipule et son utilisateur, jusqu son dsaccord. Vous devez protger ces informations de tout accs par des tierces parties. Respecter la loi de chacun des endroits ou votre application est rendue disponible. Ajouter le texte suivant lagrment, pour des applications de guidage en temps rel: YOUR USE OF tHIS REAL TIME ROUTE ..

+ Contraintes de dveloppement

19

Les applications doivent:


Exigence

Agrer la licence de Google pour utiliser Google Mobile Maps (http://code.google.com/apis/maps/ terms/iPhone.html) Respecter les droits dauteurs des sons et musiques intgres, sans quApple ait payer quoi que ce soit Mme reglment pour tout autre contenu Respecter les licences de toute partie libre tre le seul sponsor de tout sondage ou tirage au sort promotionnels. Spcifiez alors quApple na rien y voir Respecter lattachement 2 (Additional Terms for Use of the App Purchase API) si elle est payante Obtenir le consentement crit dApple pout toute inclusion de publicit (Advertising API) tre reconnu par Apple et par le fournisseur des accessoires (lui-mme reconnu par le programme MFI dApple) avec lequel lapplication interagit. Satisfaire les meilleures pratiques et autres guides sur lutilisation du rseau cellulaire si besoin, et ne pas lutiliser excessivement (selon le jugement raisonnable dApple)

+ Contraintes de dveloppement

20

Les applications doivent:


Exigence

Informer lutilisateur, avant lachat, de vrifier auprs de leur fournisseur de r.seau si vous utilisez VoIP ou des SMS. Respecter lattachement 3 relatif Additional Terms for the Game Center (si utlis) Respecter lattachement 4 relatif Additional Terms for the use of iCloud (si utlis)

Les applications ne doivent pas:


Exigence

Sinstaller elles-mmes ou installer dautres applications Utiliser dautres frameworks, API ou quoi que ce soit Utiliser du code interprt, sauf en passant par linterprteur dApple avec son APIs Fournir, dbloquer ou activer des fonctionnalits sans passer par lApp Store Collecter, utiliser ou rvler de linformation personnelle ou sur le matriel sans lapprobation de lutilisateur; Pas de perturbation, dabus, de spamming, de harclement,, de menaces ..

+ Dploiement sur matriel


Pour dployer les applications sur du matriel vous devez avoir une identit numrique, accessible par le iPhone developper Program, diffrent dApple Developper au ladresse http://developper.apple.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 accs a liPhone Provisionning Portal partir du Memeber Center au https://developper.apple.com/membercenter. Suivre les tapes suivantes: 1. Ouvrez Xcode Organizer 2. Slectionnez Devices, puis gauche Provisioning Profiles (dans iPhone Development) 3. Cochez Automatic Device Provisioning 4. Branchez votre matriel 5. Cliquez Use for Developpment 6. Loguez vous 7. Acceptez davoir un certificat de dveloppement.

21

+ Diffusion pour test

22

Diffusion sur TestFlight:

La phase de test de lapplication par les bta-testeurs peut se faire: via le iPhone Provisioning Portal

en utilisant le service gratuit TestFlight (https://testflightapp.com) par la cration des quipes de beta testeur sur TestFlight et en dployant lapplication pour ces quipes. (TestFlight fait le reste)

Diffusion sur Ad Hoc Provisioning Profiles:

Demandez-leur leur Device ID et ajoutez le au portail Slectionnez gauche Devices;


Cliquez Add Devices; Entrez le nom (utilisez ladresse courriel!) et le numro reu; Cliquez le symbole + pour ajouter dautes utilisateurs.

+ Diffusion pour test

23

Diffusion sur Ad Hoc Provisioning Profiles (suite):

Crer un Ad Hoc Provisioning Profile si vous nen avez pas encore un pour cette application Slectionnez gauche Provisioning; Slectionnez longlet Distribution; Cliquez New Profile; Slectionnez Ad Hoc, choisissez un nom de profil, lApple ID et slectionnez chacun des matriels que doit utiliser votre application. Tlcharger le profile et installez le avec Xcode Organizer Glisser/dplacer le fichier <profil>.mobileprovision dans Provisioning Profiles de iPhone Developement. Ajoutez une icne votre application Crer une image PNG ou JJPEG de 512x512 nomme iTunesArtwork sans extension Dans groups & files, selectionnez le groupe Ressources Choisissez Project | Add to Project, slectionnez limage et cliquez Add. Choisssez Copy item, puis Add

+ 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, menu Overview, positionnez Actives Executable au matriel cible Chisissez Build | Build and Archive Il est conseill davoir une configuration spcifique (en copiant la configuration Release) Envoyervotre application Dans lorganizer, selectionnez larchive envoyer; Cliquez Share Application; Cliquez E-Mail; Tapez le mesage que vous voulez envoyer aux testeurs. Double-cliquer larchive: <MyApplication>.ipa, lapplication apparaitra dans la liste des applications de iTunes Synchroniser leur matriel

Les testeurs devront


+ Diffusion par lApp Store

25

Mme principe que la diffusion pour test, la seule diffrence que le provisioning profile doit tre de type App Store et non Ad Hoc Au lieu de cliquer Share Application, cliquez Submit Application to iTunes Connect Il faut se loguer

+ Environnement de dveloppement

26

Xcode est un IDE complet pour le dveloppement Xcode possde les caractristiques suivants:
Caractristiques Commentaires Gestion de vos produits Syntaxe colore, complment de code, ringnierie Globalement ou pour le code slectionn Prdictive, AppleScript pour personnaliser la construction Editer et contribuer, formateurs personnaliss .. Rpartir les projets sur dautres machines Snapshots locaux

Gestion de projet Edition de code Affichage de documentation Compilation Dbogage Distribution Gestion de source

+ Environnement de dveloppement

27

Tlcharger Xcode

Utiliser le lien https://developer.apple.com/devcenter/ios/index.action Avoir un Apple ID et lenregistrer en tant que dveloppeur au http://developper.apple.com/programs/start/register/create.php Cliquez sur

+ Environnement de dveloppement

28

Tlcharger Xcode

Cliquez sur

+ Environnement de dveloppement

29

Tlcharger Xcode

Entrez identifiant (Apple ID) et mot de passe

+ Environnement de dveloppement

30

Tlcharger Xcode

Choisissez la dernire version en cours

+ Environnement de dveloppement

31

Installation de Xcode

+ Environnement de dveloppement

32

Installation de Xcode

+ Environnement de dveloppement

33

Installation de Xcode

+ Environnement de dveloppement

34

Installation de Xcode

+ Environnement de dveloppement

35

Installation de Xcode

+ Environnement de dveloppement

36

Installation de Xcode

+ Environnement de dveloppement

37

Installation de Xcode

+
Permet de crer un nouveau projet

Splash Screen de Xcode

38

Affiche lhistorie des projets

Cliquer sur iOS Application template pour crer une nouvelle application Des applications pour iOS

39

Des applications pour Mac OS Cliquer sur le boutton Next

Chaque bouton reprsente un exemple dapplication que Xcode utilisera pour gnrer des codes vous permettant de dmarrer rapidement une nouvelle application.

Ce champ reoit le nom du projet qui est Lab1_GroupX Taper edu.esih.RTE0808.monnom

40

Lab1_Groupx

edu.esih.rte0808.groupx Ce champ est utilis pour identifier lapplication

Taper Calculatrice comme prfixe des classes qui seront gnres par le modle (template) choisi.

41

Lab1_Groupx Dans le cadre de ce TP on choisira iPhone edu.esih.rte0808.groupx

Permet de crer une application pour iPad uniquement avec des caractristiques spcifiques au iPad

Une application universelle est excute sur le iPhone et le iPad. En choisissant Universal Xcode cre deux modles de vues dans la mme application.

42

Lab1_Groupx

edu.esih.rte0808.groupx Storyboard permet de mieux organiser les vues MVC.

Permet de faire des test sur des applications

ARC fait une gestion automatique de lallocation des objets dans la mmoire

Cliquez sur Next

Sauvegarder le TP dans ce rpertoire

43

Le contrle de version avec git sera abord dans un autre cours

Crer un rpertoire pour le cours

Cliquer pour crer le projet

44
Les delagetes seront traits dans le cours 2

Les vues sont visibles dans MainStoryboard.storyboard. Mais le modle devra tre crer

Les fichiers .m et .h contiennent les codes sources du controller.

Permet de choisir sur quel appareil excut de lapplication

45

Cliquer pour excuter lapplication

La vue

46

Bien!

Un cran apparat au bas de la page qui servira au dbogage de lapplication.

Cliquer ce bouton pour arrter lexcution

47

Simulateur iOS

Trs bien mais la vue naffiche rien!

48
Permet dafficher la vue

Permet dafficher la vue et le controller (codes sources) Affiche le fichier XML Permet dafficher et fermer le navigateur de gauche Logs obtenus chaque excution du projet Permet dafficher et de fermer le mode Console Permet dafficher et de fermer le navigateur de droite Permet douvrir lorganisateur 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

dinstance

Mthodes Instanciation Constructeur Destructeur Encapsulation

50

Merci! Questions?

Anda mungkin juga menyukai