+ 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
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
sur matriel
10
Limitations du matriel
Limiter la taille des application au maximum Les capacits de stockage (8Go 64Go)
+ 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
Cocoa Touch
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
+ Introduction
Architecture
Couche Framework
15
des systmes
Commentaire
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
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
+ Contraintes de dveloppement
18
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
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
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)
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 ..
21
22
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)
Cliquez Add Devices; Entrez le nom (utilisez ladresse courriel!) et le numro reu; Cliquez le symbole + pour ajouter dautes utilisateurs.
23
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
24
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
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
+ Environnement de dveloppement
30
Tlcharger Xcode
+ 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
38
Cliquer sur iOS Application template pour crer une nouvelle application Des applications pour iOS
39
Chaque bouton reprsente un exemple dapplication que Xcode utilisera pour gnrer des codes vous permettant de dmarrer rapidement une nouvelle application.
40
Lab1_Groupx
Taper Calculatrice comme prfixe des classes qui seront gnres par le modle (template) choisi.
41
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
ARC fait une gestion automatique de lallocation des objets dans la mmoire
43
44
Les delagetes seront traits dans le cours 2
Les vues sont visibles dans MainStoryboard.storyboard. Mais le modle devra tre crer
45
La vue
46
Bien!
47
Simulateur iOS
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
49
dinstance
50
Merci! Questions?