GeckoGeek.fr

Paradigme d'un lézard

Mardi 28 Mars 2017

Comment créer un projet iPhone / iPad avec XCode from scratch

Par Vinz le 04/06/2010 dans Apple, Programmation | 12 commentaires

Vous avez peut-être envie de vous mettre à la programmation iPhone / iPad sans trop savoir par ou commencer ? Je vais par ce tutorial vous amener à un petit projet XCode permettant de compiler une application “from scratch”, qui n’utilise donc pas Interface Builder (aka IB).

Installer xCode

Dans un premier temps vous avez besoin d’installer la dernière version d’XCode. Dans notre exemple nous utilisons XCode 3.2(.2) mais la version 4 ne devrait plus tarder à montrer son nez.

Voici les quelques étapes pour la télécharger :


Sachez que l’archive vous installera en plus d’XCode le minimum pour programmer : compilateurs, programmes de débogage, … Par exemple si vous souhaitez compiler un programme C sous terminal, vous devrez d’abord installer XCode.
Vous pourrez ensuite trouver XCode dans le dossier suivant : “/Developer/Applications/

Créer un projet iPhone / iPad “from scratch”

Comme dit plus haut, on n’aime pas tellement travailler avec IB (Interface Builder). Ce dernier est utile dans certains cas, mais il est vraiment important de savoir programmer sans. IB a tendance à créer des “boites noires” dans lesquelles vous ne savez pas “exactement” ce qu’il se passe. Sans compter que cela rajoute souvent du code “inutile” même si au final les “pertes” de temps et de mémoire sont minimes. On pourrait aussi partir dans le principe qu’IB peut parfois mieux coder certaines parties qu’un développeur lambda, ce n’est pas faux. Mais là encore cela serait pour des parties “minimes”. Donc au final cela reste une question de choix et de situation. Mais ici on va vous forcer à apprendre à gérer sans ! Ce n’est pas très compliqué, mais il existe quelques “subtilité” à connaître.

Créer le projet XCode

Nous allons faire au plus simple et commencer par créer un projet XCode et non pas le recréer de 0. Cela nous évitera d’aller configurer les préférences du projet ou autre chose obscure, cela serait un peu trop compliqué pour un tutorial “hello world”. Nous nommerons ce projet “ViewBasedAppFromScratch” :

  • Ouvrez XCode puis allez dans le menu “File -> New Project”
  • Choisissez la colonne “iPhone OS -> Application” et cliquez sur “View-Based Application“. Maintenant que l’iPad est sorti vous pouvez même choisir iPhone, iPad ou Universal. Ici nous prendrons iPad pour ne pas non plus compliquez les tâches avec la gestion du mode iPhone ou iPad via le mode Universal (qui permet de créer une application pour iPhone ET iPad).


En principe si vous appuyez sur le bouton “Build & Run” vous devriez obtenir dans votre simulateur une fenêtre blanche.

Se passer des .xib

Toutefois ce projet contient un “MainWindow.xib” et un “ViewBasedAppFromScratchViewController.xib” qui ont été créé par IB. Notre priorité est donc de les supprimer ! mais une fois ceci fait nous allons devoir procéder à quelques modifications dans le projet :-]

  • Supprimez le fichier “MainWindow.xib” et le fichier “ViewBasedAppFromScratchViewController.xib” (clic droit, “Delete” et choisissez l’option “Move to Trash”)
  • Allez dans le fichier de configuration du projet en .plist et supprimez la ligne “Main nib file base name – MainWindow”. Ceci permet de dire à XCode de ne pas lancer le fichier MainWindow.xib (qui n’existe plus vu qu’on vient de le supprimer) pour lancer le projet
  • Allez dans le fichier “main.m” et remplacez la ligne
    int retVal = UIApplicationMain(argc, argv, nil, nil);

    par celle-ci :

    int retVal = UIApplicationMain(argc, argv, nil, @"ViewBasedAppFromScratchAppDelegate");

    ViewBasedAppFromScratchAppDelegate étant le nom du fichier de votre projet.

  • Et enfin il suffit de se rendre dans l’AppDelegate (plus précisement ViewBasedAppFromScratchAppDelegate.m) pour procéder à une petite modification. Vu qu’on a supprimé le .xib de la fenêtre principale, il faut la créer en code. Actuellement vous devriez pouvoir trouver cette méthode :
    - (BOOL)application:(UIApplication *)application
                        didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
    
    	// Override point for customization after app launch
    	[window addSubview:viewController.view];
    	[window makeKeyAndVisible];
    
    	return YES;
    
    }

    On commence par rajouter la création de la “window” en rajoutant ces quelques lignes :

    self.window = [ [ [ UIWindow alloc ] initWithFrame:[ [ UIScreen mainScreen ] bounds ] ]
    		autorelease
    ];

    Et enfin on rajoute la création du ViewController qui ici se nomme “ViewBasedAppFromScratchViewController” :

    viewController = [ [ ViewBasedAppFromScratchViewController alloc ] init ];
  • Au final la fonction donne ceci :

    - (BOOL)application:(UIApplication *)application
                        didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
    
    	// Init Window
    	self.window = [ [ [ UIWindow alloc ] initWithFrame:[ [ UIScreen mainScreen ] bounds ] ]
    				   autorelease
    	];
    
    	// Init View Controller
    	viewController = [ [ ViewBasedAppFromScratchViewController alloc ] init ];
    
    	// Override point for customization after app launch
    	[ window addSubview:viewController.view ];
    	[ window makeKeyAndVisible ];
    
    	return YES;
    }

Maintenant vous devriez pouvoir compiler le projet sans erreur.

Modifier la UIView

Histoire d’être sur que le projet marche bien, nous allons modifier la petite UIView du controller. Rendez-vous dans le UIViewController qui ici se nomme “ViewBasedAppFromScratchViewController.m” et trouvez la méthode suivante :

- (void)viewDidLoad {
	[super viewDidLoad];
}

En principe cette dernière devrait être commentée. Décommenter là si c’est le cas. Nous allons juste modifier la couleur de fond en rajoutant une petite ligne. Par défaut une UIView va être créée et vous n’avez donc qu’à y accéder et modifier ses propriétés :

[ self.view setBackgroundColor:[ UIColor purpleColor ] ];

Une fois la ligne rajoutée (en dessous de la méthode “super”), vous devriez obtenir une couleur violette lorsque vous compilez et exécutez le programme en simulateur.
Au final vous devriez donc avoir ceci dans la méthode :

- (void)viewDidLoad {

	[ super viewDidLoad ];
	[ self.view setBackgroundColor:[ UIColor purpleColor ] ];

}

Codes Sources

Et voici enfin le code source du projet pour vous donner une base dans vos applications sans devoir passer par IB ou utiliser des XIB.
http://www.geckogeek.fr/static/files/HelloWorldFromScratch-XCode.zip

Commentaires (12)
  1. Gorn le 7 Jun 2010 à 18:51

    Bonjour,

    je voudrais faire une application comme une encyclopédie, mais ceci demande bien plus qu’un simple application avec une UITabBar etc, il y a plein de vues etc, est ce qu’il vous serait possible de faire un tutorial pour expliquer comment gérer (une méthode de départ) les “gros projets” enfin ceux qui nécessiterais plusieurs petites applications que l’on trouve dans tous les tutos sur le net.

    merci d’avance :)

  2. Vinz le 10 Jun 2010 à 18:35

    Hello !

    Disons que ca relève plus d’architecture et de schémas, mais on y pensera à l’occasion :-)

    A+ !

  3. Mathieu le 31 Jul 2010 à 20:56

    Bonjour et merci pour ce tuto!
    Je débute dans la création d’appli pour iphone et je voudrais créer une sorte de “google fight” qui compare la popularité de deux mots clés.
    Ne sachant pas par où commencer, j’ai choisi de récupérer un script en php de ce jeu, mais je n’arrive pas à l’exécuter via xcode. Pourriez-vous m’aider?

  4. Vinz le 1 Aug 2010 à 12:59

    Hello,

    Tu auras du mal à executer du PHP avec xCode 😉
    Tu peux toujours le faire avec ton Mac dans Sites/ (en activant dans les préférences Partage la bonne option ^^).

    Pour le passer sur iPhone il faudra déjà que tu apprennes l’objective-c etc.

    Donc par ou commencer mmm. Commence par afficher du texte dans une application iPhone ^^ Tout dépend des tes connaissances de base 😐

  5. jaycreation le 20 Sep 2010 à 07:46

    Bonjour et merci beaucoup pour cette premiere approche

  6. alain le 9 Feb 2011 à 09:12

    Tutoriel excellent le premier que j’ai trouvé
    le plus simple
    sans faute
    car pour apprendre on recherche toujours la simplicité

  7. sauzay le 13 Sep 2011 à 09:50

    bonjour

    je suis musicien, j’aimerais créer un éditeur de partitions musicales sur iphone et ipad

    car aucun logiciel n’existe pour l’instant sur ces machines.

    Ou puis je me renseigner pour trouver un programmateur

  8. Vinz le 15 Sep 2011 à 22:49

    Hello,
    Pour trouver de bons programmeurs je te conseille les sites dédiés depuis le réseau stackoverflow.com ( http://careers.stackoverflow.com/ )
    Bon courage pour ton projet !
    Vincent

  9. torlep le 21 Sep 2011 à 13:38

    Hello Sauzay,

    Ce que tu cherche existe: Guitar pro permet de faire de l’edition de partition

  10. jatou le 27 Sep 2011 à 10:15

    Bonjour,
    Je suis comme Gorn mais moi c’est plus un catalogue avec des photos, beaucoup de photos avec des liens entre elles. Mais sans connaissance d’objectiv c ………
    Merci par avance pour toute réponse.

  11. burberry t shirt le 22 Jul 2013 à 15:51

    Electric Rc Trucks: Do You Wish To Own One?

  12. 👍 comment marche xcode le 14 Nov 2015 à 14:03

    […] © http://www.geckogeek.fr/comment-creer-un-projet-iphone-ipad-avec-xcode-from-scratch.html […]


Laisser un commentaire