Développer des Applications iPhone 2e édition pour les Nuls
Neal Goldstein
First Interactive
Introduction
1
À propos de ce livre3
Conventions utilisées dans ce livre3
Quelques folles hypothèses4
Comment ce livre est organisé5
Première partie : Débuter5
Deuxième partie : Utiliser les outils de développement de l'iPhone5
Troisième partie : De l'idée à App Store5
Quatrième partie : Une application «à grande échelle»6
Cinquième partie : Les dix commandements6
Les icônes utilisées dans ce livre6
Et maintenant ?7
Première partie : Débuter
9
Chapitre 1 : Créer des applications «qui tuent»
11
Créer une expérience utilisateur pertinente13
Contenu pertinent en fonction du contexte14
Je sais ce que je veux, je le veux immédiatement, sans superflu15
Faire disparaître la technologie18
L'interface utilisateur : la forme qui suit la fonction18
Cohérence opérationnelle19
Comment l'iPhone rend tout cela réel21
Une conception guidée par les moyens techniques de l'appareil21
Exploiter les fonctionnalités22
Traitement en arrière-plan et notifications locales22
Déterminer les limitations26
Pourquoi développer des applications iPhone ?28
Exemples d'applications29
Et après ?31
Chapitre 2 : Derrière l'écran
33
Utiliser les frameworks34
Utiliser les patrons de conception (Design patterns)35
Le MVC, Modèle/Vue/Contrôleur (Model/View Controller)36
MVC en action38
Travailler avec les fenêtres et vues39
Surveiller la fenêtre39
Admirer la vue39
Les vues Container42
Contrôler les contrôleurs44
Qu'en est-il du Modèle ?46
Ajouter un comportement à l'application47
Le patron Delegation48
Le patron Block Object49
Le patron Target-Action50
Que faire ? Et quand ?51
Ouf !52
Chapitre 3 : S'enrôler dans l'armée des développeurs
53
Devenir un développeur iPhone agréé54
Explorer le iPhone Dev Center56
Utiliser le SDK58
Ressources de l'iPhone Dev Center59
Télécharger le SDK60
Adhérer au programme de développement de l'iPhone61
Vous préparer pour le SDK63
Deuxième partie : Utiliser les outils de développement
de l'iPhone
65
Chapitre 4 : Découvrir le SDK
67
Développer avec le SDK67
Créer son projet68
Explorer votre projet71
Créer et exécuter votre application75
Le simulateur iPhone79
Interaction matérielle79
Les gestes80
Désinstaller des applications et réinitialiser votre appareil81
Limitations81
Personnaliser Xcode82
Utiliser Interface Builder85
Au travail !88
Chapitre 5 : Créer l'interface utilisateur
89
Lancer Interface Builder90
Ajouter des images et le reste des éléments97
Ajouter l'icône d'une application104
Beaucoup en peu de temps106
Chapitre 6 : Exécuter l'application
107
Anatomie d'une application : le cycle d'une vie108
Tout commence par le fichier nib principal (main)110
Initialisation114
Traitement des événements118
Interruption du processus normal119
Votre application devient inactive120
Votre application est réactivée120
Votre application passe à l'arrière-plan121
Votre application restaure son processus121
Arrêt d'une application122
Le patron Managed Memory Model124
Observer les alertes mémoires124
Éviter les alertes125
Quelques règles de gestion de mémoire à respecter125
Relire cette section126
Ouf !127
Troisième partie : De l'idée à App Store
129
Chapitre 7 : Écrire du code
131
Il est temps de coder !131
L'éditeur Xcode133
Accéder à la documentation133
Quick Help134
Le fichier en-tête d'un symbole134
La fenêtre Documentation135
Le menu Help136
Find136
Ajouter des outlets au contrôleur de vue138
Les propriétés Objective-C143
Gestion de la mémoire145
Rassembler les pièces dans Interface Builder146
Chapitre 8 : Saisir et gérer les données
151
Scroller la vue152
Où insérer le code ?154
L'objet Delegate155
L'objet Controller156
Où ?157
Bâtir sur une fondation158
Notification158
Maintenir le champ de texte visible161
Le mécanisme du défilement dans la vue162
Supprimer l'enregistrement d'une notification167
Déplacer la vue168
Mettre à jour l'interface170
Baisser la vue quand tout est dit et fait171
Polir le chrome et ajouter les microsillons du vinyle175
Adopter un protocole175
Rassembler les pièces dans Interface Builder176
Ajouter une touche d'annulation178
Enregistrer le numéro de téléphone pour une référence future179
Faire disparaître le clavier quand l'utilisateur touche dans la vue182
Trouver son chemin en parcourant le code185
Aller plus loin185
Chapitre 9 : Enregistrer les données et créer un bouton secret
187
Enregistrer les données entrées par l'utilisateur188
Préférences188
La classe NSUserDefaults189
Enregistrer des données avec NSUserDefaults190
Configurer190
Enregistrer le numéro de téléphone193
Charger les préférences pour récupérer les données194
Utiliser les données197
Désactiver la modification199
Permettre à l'utilisateur d'utiliser le bouton secret201
Qu'avons-nous maintenant ?204
Chapitre 10 : Utiliser le débogueur
205
Utiliser le débogueur208
Déboguer un projet210
Utiliser la fenêtre Debugger213
Utiliser des points d'arrêt215
Utiliser Static Analyzer218
Une dernière étape220
Chapitre 11 : Taper sur un bouton pour appeler chez soi
221
Ajouter un bouton à l'interface de l'iPhone222
Le patron de conception Target-Action222
Le code du bouton223
Connecter le bouton dans Interface Builder227
Téléphone maison230
Ajouter la vue Web230
Implémenter la vue Web232
Ajouter et connecter la vue Web dans Interface Builder236
Un bogue238
Être encore plus en contact240
C'est terminé !243
Le code final243
Chapitre 12 : Préparer et déployer l'application sur App Store
245
La procédure en détail246
La procédure de distribution246
La procédure de développement247
Préparer votre appareil au développement249
Planifier votre Profil d'approvisionnement et de développement
et certificat de développement pour iPhone250
Utiliser l'assistant Development Provising251
Laisser Xcode créer un profil d'approvisionnement252
Préparer votre application pour App Store255
iTunes Connect259
Manage Users261
Contract, Tax & Banking Informations262
Télécharger vos informations263
Connaître les informations nécessaire pour déposer son application
dans App Store263
Éviter un rejet267
Et après ?269
Quatrième partie : Une application à grande échelle
271
Chapitre 13 : Concevoir votre application
273
L'avantage de l'iPhone274
Définir les problèmes276
Tenir compte du confort de l'utilisateur277
Comprendre le contexte277
Être particulièrement attentif à trois fonctionnalités de l'iPhone279
Incorporer le contexte de l'appareil279
Classer par catégories les problèmes et définir les solutions280
Créer l'architecture du programme284
Une vue principale284
Les vues Content285
Les contrôleurs de vue288
Modèles288
Préférences utilisateur, état de sauvegarde et localisation290
Le caractère répétitif de la procédure291
Chapitre 14 : Mettre la table
293
Travailler avec des vues table294
Créer une vue table295
Créer et formater une vue table groupée296
Faire travailler UITableViewController299
Créer un modèle de ligne307
Examiner le fonctionnement des cellules311
Créer la cellule313
Répondre à une sélection318
Parcourir le contrôleur de navigation320
Implémenter la sélection322
Et maintenant ?322
Chapitre 15 : Améliorer le confort de l'utilisateur
323
Enregistrer et restaurer l'état323
Enregistrer les informations sur l'état324
Restaurer l'état328
Respecter les préférences de l'utilisateur331
Ajouter un Settings Bundle dans votre projet332
Configurer la liste des propriétés333
Lire les Réglages dans l'application337
iser Préférences dans l'application342
L'application est quasiment terminée !346
Chapitre 16 : Créer des contrôleurs et leur modèle
347
Spécifier le contenu348
Créer le contrôleur de vue, le fichier nib et le fichier modèle352
Ajouter le contrôleur et le fichier nib352
Ajouter les classes354
Configurer le fichier nib355
Implémenter la vue, le contrôleur de vue et le modèle359
Vérifier que AirportController connaisse tous les objets
dont il a besoin359
Initialisation360
Configurer la vue362
Répondre à la sélection de l'utilisateur365
Le modèle Destination368
Quid du modèle destination et de tout ce détour ?373
Le modèle d'implémentation Weather (Météo)376
Le modèle d'implémentation de Currency (Monnaie)378
Le patron de conception380
Et après ?380
Chapitre 17 : Trouver son chemin
383
Utiliser une carte384
MKMapView385
Enrichir la carte386
Ajouter le mode paysage et la localisation actuelle386
Région388
Annoter392
L'annotation394
Afficher les annotations396
Afficher plusieurs annotations398
Aller à la position actuelle401
Géocodage404
Et si je ne vais pas à Londres ?408
Et après ?413
Chapitre 18 : Localisation, localisation, localisation
415
Être informé de la localisation416
Localiser l'utilisateur à l'aide du service de localisation standard418
Démarrer le gestionnaire de localisation419
Recevoir des données de localisation d'un service423
Gérer les échecs424
Notifications locales425
Fonctionner à l'arrière-plan429
Déclarer la prise en charge des tâches en arrière-plan432
Réduire la consommation à l'aide du service de notification
de changement d'emplacement433
Utiliser le service de changement significatif de localisation434
Suivi de région435
Votre application peut être lancée439
Demander la présence des services de localisation
pour le fonctionnement441
Et ensuite ?441
Cinquième partie : Les dix commandements
443
Chapitre 19 : Dix exemples d'applications Apple (avec le code !)
445
AppPrefs445
BubbleLevel446
WorldCities446
QuartzDemo446
Reachability447
iPhoneCoreDataRecipes447
UICatalog447
URLCache447
XML448
Tables448
Chapitre 20 : Dix trucs pour être un développeur heureux
451
Il n'est jamais trop tard pour apprendre une langue étrangère !451
Mémoire qui flanche452
Utiliser constamment des constantes452
Être toujours à la pointe452
Commencer par initialiser correctement453
Rester ordonné453
Éviter les erreurs de la gestion (des erreurs)454
Ne pas oublier l'utilisateur454
Le logiciel n'est pas terminé tant que son dernier utilisateur est en vie455
Amusez-vous455
Index
457