iOS - Première application iPhone

Création de la première application

Nous allons maintenant créer une simple application à vue unique (une application vide) qui fonctionnera sur le simulateur iOS.

Les étapes sont les suivantes.

Step 1 - Ouvrez Xcode et sélectionnez Create a new Xcode project.

Step 2 - Sélectionnez Single View Application.

Step 3 - Saisissez le nom du produit, c'est-à-dire le nom de l'application, le nom de l'organisation, puis l'identifiant de l'entreprise.

Step 4 - Assurez-vous que Use Automatic Reference Countingest sélectionné afin de libérer automatiquement les ressources allouées une fois qu'il est hors de portée. Cliquez sur Suivant.

Step 5 - Sélectionnez le répertoire du projet et sélectionnez créer.

Step 6 - Vous verrez un écran comme suit -

Dans l'écran ci-dessus, vous pourrez sélectionner les orientations prises en charge, les paramètres de construction et de libération. Il existe une cible de déploiement sur le terrain, la version de l'appareil à partir de laquelle nous voulons prendre en charge, permet de sélectionner 4.3, qui est la cible de déploiement minimale autorisée maintenant. Pour l'instant, ils ne sont pas obligatoires et concentrons-nous sur l'exécution de l'application.

Step 7 - Maintenant, sélectionnez le simulateur iPhone dans le menu déroulant près du bouton Exécuter et sélectionnez Exécuter.

Step 8- C'est ça; vous avez exécuté avec succès votre première application. Vous obtiendrez une sortie comme suit -

Modifions maintenant la couleur d'arrière-plan, juste pour commencer avec le constructeur d'interface. Sélectionnez ViewController.xib. Sélectionnez l'option d'arrière-plan sur le côté droit, changez la couleur et exécutez.

Dans le projet ci-dessus, par défaut, la cible de déploiement aurait été définie sur iOS 6.0 et la mise en page automatique sera activée. Pour nous assurer que notre application s'exécute sur les appareils à partir d'iOS 4.3, nous avons déjà modifié la cible de déploiement au début de la création de cette application, mais nous n'avons pas désactivé la mise en page automatique.

Pour désactiver la mise en page automatique, nous devons décocher la case à cocher de la mise en page automatique dans l'inspecteur de fichiers de chaque nib, c'est-à-dire les fichiers xib. Les différentes sections de l'IDE du projet Xcode sont données dans la figure suivante (avec l'aimable autorisation: documentation utilisateur Apple Xcode 4).

L'inspecteur de fichiers se trouve dans la barre de sélection de l'inspecteur comme indiqué ci-dessus et la mise en page automatique peut y être décochée. La disposition automatique peut être utilisée lorsque vous souhaitez cibler uniquement les appareils iOS 6. En outre, vous pourrez utiliser de nombreuses nouvelles fonctionnalités telles que le livret si vous augmentez la cible de déploiement vers iOS 6. Pour l'instant, restons fidèles à iOS 4.3 comme cible de déploiement.

Code de la première application iOS

Vous trouverez cinq fichiers différents qui auraient été générés pour votre application. Ils sont répertoriés comme suit -

  • AppDelegate.h
  • AppDelegate.m
  • ViewController.h
  • ViewController.m
  • ViewController.xib

AppDelegate.h

// Header File that provides all UI related items. 
#import <UIKit/UIKit.h> 

// Forward declaration (Used when class will be defined /imported in future)
@class ViewController;  

// Interface for Appdelegate
@interface AppDelegate : UIResponder <UIApplicationDelegate>

// Property window 
@property (strong, nonatomic) UIWindow *window; 

// Property Viewcontroller

@property (strong, nonatomic) ViewController *viewController;
//this marks end of interface 
@end

Important items in code -

  • AppDelegate hérite de UIResponder qui gère les événements iOS.

  • Implémente les méthodes déléguées de UIApplicationDelegate, qui fournit des événements d'application clés tels que le lancement terminé, sur le point de se terminer, etc.

  • Objet UIWindow pour gérer et coordonner les différentes vues sur l'écran de l'appareil iOS. C'est comme la vue de base sur laquelle toutes les autres vues sont chargées. En général, il n'y a qu'une seule fenêtre pour une application.

  • UIViewController pour gérer le flux d'écran.

AppDelegate.m

// Imports the class Appdelegate's interface
import "AppDelegate.h" 

// Imports the viewcontroller to be loaded
#import "ViewController.h" 

// Class definition starts here
@implementation AppDelegate 


// Method to intimate us that the application launched successfully
- (BOOL)application:(UIApplication *)application 
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
   self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
   
   // Override point for customization after application launch.
   self.viewController = [[ViewController alloc]
   initWithNibName:@"ViewController" bundle:nil];
   self.window.rootViewController = self.viewController;
   [self.window makeKeyAndVisible];
   return YES;
}

- (void)applicationWillResignActive:(UIApplication *)application {
   /* Use this method to release shared resources, save user data,
   invalidate timers, and store enough application state information
   to restore your application to its current state in case it is 
   terminated later. If your application supports background 
   execution, this method is called instead of
   applicationWillTerminate: when the user quits.*/
}

- (void)applicationWillEnterForeground:(UIApplication *)application {
   /* Called as part of the transition from the background to the 
   inactive state. Here you can undo many of the changes made on 
   entering the background.*/
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
   /* Restart any tasks that were paused (or not yet started) while 
   the application was inactive. If the application was previously in 
   the background, optionally refresh the user interface.*/
}

- (void)applicationWillTerminate:(UIApplication *)application {
   /* Called when the application is about to terminate. Save data if 
   appropriate. See also applicationDidEnterBackground:. */
}

- (void)applicationWillTerminate:(UIApplication *)application {
   /* Called when the application is about to terminate. Save data if appropriate.
   See also applicationDidEnterBackground:. */
}
@end

Important items in code -

  • Les délégués UIApplication sont définis ici. Toutes les méthodes définies ci-dessus sont des délégués d'application de l'interface utilisateur et ne contiennent aucune méthode définie par l'utilisateur.

  • L'objet UIWindow est alloué pour contenir l'application allouée.

  • UIViewController est alloué comme contrôleur de vue initial de la fenêtre.

  • Pour rendre la fenêtre visible, la méthode makeKeyAndVisible est appelée.

ViewController.h

#import <UIKit/UIKit.h> 

// Interface for class ViewController
@interface ViewController : UIViewController 

@end

Important items in code -

  • La classe ViewController hérite de UIViewController, qui fournit le modèle de gestion de vue fondamental pour les applications iOS.

ViewController.m

#import "ViewController.h"

// Category, an extension of ViewController class
@interface ViewController ()

@end

@implementation ViewController  

- (void)viewDidLoad {
   [super viewDidLoad];
   // Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning {
   [super didReceiveMemoryWarning];
   // Dispose of any resources that can be recreated.
}
@end

Important items in code -

  • Deux méthodes implémentées ici sont définies dans la classe de base UIViewController.

  • Effectuez la configuration initiale dans viewDidLoad qui est appelée après le chargement de la vue.

  • La méthode didReceiveMemoryWarning est appelée en cas d'avertissement de mémoire.