Annonce

Vous pouvez parler de jailbreak sur ce forum. En revanche, il est interdit d'évoquer tout système permettant de pirater des applications ! Merci de respecter le travail des développeurs.

#1 04-09-2008 15:46:03

Percuss
Modo Robot

Application de Base - SDK Apple

Salut à tous, pour ceux volant créer des applications par le SDK je cous propose ici un projet de base  incluant Barre de Navigation et quelques bouton test.

[img align=c]http://devimages.apple.com/images_index/iphone_sdk.png[/img]
On Apprendra aussi ici pas à pas les Base de l'Objective-C afin de comprendre où l'on met les pieds. Je m'efforcerais de vous donner une base d'utilisation pour tous les objets nécessaire à la création d'une application. ( Image, bar de navigation, table, transition etc..... )

Je vous invite à poser toutes les questions nécessaire si quelque chose vous échappe. Il n'y a pas de question bête du moment quelle vous permet d'avancer.


Malheureusement ceci n'est destiné qu'à ceux pouvant installer le SDK d'Apple et donc étant sur MacOS. Rien ne vous empêche bien sur de suivre malgré tout, la seule contrainte étant que vous ne pourrez compiler vous même vos codes sources.

Afin de compiler vos codes sources sans être sur MacOS, il vous faudra avoir une installation fonctionnel de ce qu'on appel le Toolchain ( => ensemble de librairies et de compilateurs vous permettant de compiler une application pour iPhone/iPod )


Le projet ce nome "one" ( j'avai la flemme de trouver un nom correct lol )
Téléchargeable ici. ( taille 1.4 Mo )
vous y trouverez les sources ainsi que les exécutable compilé pour iPod ( une petite modif sera nécessaire pour le lancer )


----------------------------------------------------------------------------------

C'EST PARTI !!!!

Leçon n°0 : La syntaxe de l'Objective-C
Lancement d'une fonction
C++ => maFocntion();
Ob-C =>[self maFonction];

Lorsque vous lancez une fonction et que toutes les instructions se sont exécutées, la fenêtre de l'application continue à fonctionner en attendant qu'un événement agisse sur le programme.

Une "Delegate", est une fonction appelée par un événement. Par exemple, lorsque l'on clique sur un bouton, une Delegate ayant un nom prédéfini est appelée. On placera donc le code d'éxécution du bouton dans cette fonction.


Leçon n°1 : L'organisation du code
Dans un projet Xcode, vous retrouverez souvent les même choses
-Un fichier MonProjet.m ( décrivant les tâches du programme )
-Un fichier MonProjet.h ( contenant les différentes variables utilisées )

Ce sont ces deux fichiers que l'on modifiera pour notre programme.
Peut être auront nous besoin d'images ou bien d'autres fichiers, mais nous verront tout cela le moment venu.


On s'interesse d'abord au fichier MonProjet.m, qui dans notre cas s'appel oneAppDelegate.m ( nous reviendront sur le terme Delegate plus tard )
Dans ce fichier vous trouverez 4 différentes Boucles
- (void)exit:(id)sender
- (void)showFirst
- (void)applicationDidFinishLaunching:(UIApplication *)application
- (void)dealloc


Il faut savoir que le programme commencera par lancer la boucle applicationDidFinishLaunching:
C'est donc dans cette boucle que nous placeront tout ce qui est initialisation, comme ici.

Code
------------------------------------------------------------------------------------
- (void)applicationDidFinishLaunching:(UIApplication *)application {   
   
    // On initialise la fenetre principale   
    [window makeKeyAndVisible];
   
    // On cré une Fenetre de contenu de taille 320x460 aux coordonnées x=0 y=20
    contentView = [[UIView alloc] initWithFrame:CGRectMake(0, 20, 320, 460)];
   
    // On ajoute cette fenetre à la fenetre principale
    [window addSubview: contentView];
   
    // On initialise une Barre d'outils
    buttonBar = [UIToolbar new];
    [buttonBar setFrame:CGRectMake(0, 0, 320, 50)]; // et on défini ses coordonnées
   
    // On initialise une barre de Navigation
    navBar = [UIToolbar new];
    navBar.barStyle = UIBarStyleBlackOpaque; // On la met en noir
    [navBar setFrame:CGRectMake(0, 410, 320, 50)]; // et on défini ses coordonnées
   
   
    // On ajoute ensuite ces deux Barre à la fenetre de contenu
    [contentView addSubview:buttonBar];
    [contentView addSubview:navBar];
   
    // Et enfin, on se dirige vers notre premiere boucle
    [self showFirst];
}
------------------------------------------------------------------------------------
On remarque que la barre de navigation et la barre d'outils sont toutes deux tirées du même type. Mais c'est pas grave c'est juste pour l'exemple, encore une foix on verra plus tard comment utiliser le bon type.
Vous pouvez également initialiser des variables globales que vous aurez besoin par la suite. Créer les répertoire que vous aurez besoin si ils n'existent pas déjà etc......


Lexique:
Boucle : Se dit d'un ensemble d'instructions encapsulées dans une fonction.
Variable : identifiant d'une données.
Variable Globale : Variable utilisable dans tout le code
Variable Locale : Variable utilisable seulement dans la boucle dans laquelle elle fût créé.

Hors ligne

#2 04-09-2008 15:56:40

O.x.Y
Banni(e)

Re : Application de Base - SDK Apple

Si on est Sur Windows, Qu'on ne sait rien a propos sur  le Langage C, mais qu'on veut vraiment creer une App ?! On et met un coup de pied ? Ou on fait quoi ?

Hors ligne

#3 04-09-2008 16:23:55

Percuss
Modo Robot

Re : Application de Base - SDK Apple

Si vous êtes sur Windows, il ne faudra pas vous attendre à une solution toute prête avec un joli petit setup à cliquer.

Vous aurez besoin de Cygwin ( ...par chance lui il a un setup lol ), qui vous simulera un environnement Linux sur lequel vous pourrez installer le Toolchain.

Par conter je ne vous expliquerai pas dans ce post comment installer le Toolchain, surement dans un autre.

Hors ligne

#4 04-09-2008 17:01:20

djpro95
Membre

Re : Application de Base - SDK Apple

SU-PER idée Percuss !! Vivement que j'ai un Mac ! big_smile


MOBILISEZ VOUS !  Orange bride encore nos réseaux 3G+ a 384 kbit/s alors que la 3G+ c'est 3.4 mbit/s ! Ils n'ont débloqué QUE LES IPHONES ! Nous payons donc pour des débits 9 fois inferieurs à ce qui nous est promis !
PETITION ==> www.debridema3g.com
FORUM POUR SE MOBILISER ==> http://forum.liberema3g.com/

Hors ligne

#5 04-09-2008 19:14:13

O.x.Y
Banni(e)

Re : Application de Base - SDK Apple

Merci ... Percussion xD !!

Hors ligne

#6 04-09-2008 19:54:49

dimi
punkz0r

Re : Application de Base - SDK Apple

! bonne chance, j'aimerais avoir un firefox mobile! lol


"Si un jour tu te sent seul et inutile, sache que un jour tu était le spermatozoïde le plus rapide de tous."
Coluche

Hors ligne

#7 04-09-2008 20:10:50

Percuss
Modo Robot

Re : Application de Base - SDK Apple

Ba en fait c'est pas un topic pour faire des demandes d'appli lol, c'est pour apprendre à en faire.

Hors ligne

#8 04-09-2008 20:15:44

dimi
punkz0r

Re : Application de Base - SDK Apple

je vais bosser si j'ai le temps sur un firefox mobile, mais comment est code firefox?


"Si un jour tu te sent seul et inutile, sache que un jour tu était le spermatozoïde le plus rapide de tous."
Coluche

Hors ligne

#9 04-09-2008 20:23:57

Percuss
Modo Robot

Re : Application de Base - SDK Apple

Avant de bosser sur un navigateur, il faut d'abord savoir comment fonctionne une page HTML,PHP, ajax, JavaSrcipt etc......

Hors ligne

#10 04-09-2008 20:27:20

O.x.Y
Banni(e)

Re : Application de Base - SDK Apple

Perucss tu te mets a Casser maintenant ?! lol

Dernière modification par O.x.Y (04-09-2008 20:27:32)

Hors ligne

#11 04-09-2008 20:29:47

dimi
punkz0r

Re : Application de Base - SDK Apple

je connais le HTML, le php mais c'est quoi ajax?


"Si un jour tu te sent seul et inutile, sache que un jour tu était le spermatozoïde le plus rapide de tous."
Coluche

Hors ligne

#12 04-09-2008 20:30:45

Percuss
Modo Robot

Re : Application de Base - SDK Apple

non du tout. C'était juste pour dire que faire un navigateur c'est chaud comme même. Si vous voulez vous y atteler je vous félicite. Car pour moi c'est trop gros.

Hors ligne

#13 06-11-2008 23:03:41

IGalaxy
Membre

Re : Application de Base - SDK Apple

dimi a écrit :

je connais le HTML, le php mais c'est quoi ajax?

Asynchronous Javascript And Xml
Permettant de rafraîchir seulement des formulaires, interagir simplement avec l'utilisateur

Meilleurs exemples => Facebook et Windows Live Hotmail, sont en AJAC (et autre)


XNova Studio passe la 2.1 aussi... Découvrez le ici :
DOWNLOAD NOW!

Et PINAISE IGALAXY LE I EST AUSSI EN MAJUSCULE !

Hors ligne

#14 07-11-2008 14:50:22

Percuss
Modo Robot

Re : Application de Base - SDK Apple

MAJ : Ajout Leçon n°1

Hors ligne

#15 08-11-2008 07:05:56

dimi
punkz0r

Re : Application de Base - SDK Apple

Sympas, je vais my mètre mais pour du windows c'est du C aussi?


"Si un jour tu te sent seul et inutile, sache que un jour tu était le spermatozoïde le plus rapide de tous."
Coluche

Hors ligne

#16 08-11-2008 07:57:26

IGalaxy
Membre

Re : Application de Base - SDK Apple

Windows c'est du C et de l'assembleur


XNova Studio passe la 2.1 aussi... Découvrez le ici :
DOWNLOAD NOW!

Et PINAISE IGALAXY LE I EST AUSSI EN MAJUSCULE !

Hors ligne

#17 08-11-2008 10:49:32

jujucool290
Jujucool290

Re : Application de Base - SDK Apple

ouais super topic !!, sinon tu connais le codes pour avoir le bar de statut (je crois que c'est se non là) là ou il y a le nom en haut de l'écran et qui est généralement bleu

Hors ligne

#18 08-11-2008 13:54:15

dimi
punkz0r

Re : Application de Base - SDK Apple

Comment on fait après pour lui ajouter des fonctionnnalités basiques?


"Si un jour tu te sent seul et inutile, sache que un jour tu était le spermatozoïde le plus rapide de tous."
Coluche

Hors ligne

#19 08-11-2008 14:22:05

jujucool290
Jujucool290

Re : Application de Base - SDK Apple

comme quoi ??

Hors ligne

#20 08-11-2008 15:35:43

Percuss
Modo Robot

Re : Application de Base - SDK Apple

jujucool290 a écrit :

..... tu connais le codes pour avoir le bar de statut ?.....

Laquelle ? Celle ou il y a l'heure et qui et Blanche ou transparente?

Ou bien celle ou se trouve généralement le bouton Retour et autre truc ?

-------

Quelle fonctionnalité par exemple ?
Tu peut placer tes fonctionnalités dans la première boule showFirst

Hors ligne

#21 08-11-2008 16:24:04

jujucool290
Jujucool290

Re : Application de Base - SDK Apple

Percuss a écrit :
jujucool290 a écrit :

..... tu connais le codes pour avoir le bar de statut ?.....

Laquelle ? Celle ou il y a l'heure et qui et Blanche ou transparente?

Ou bien celle ou se trouve généralement le bouton Retour et autre truc ?

ah oui je savais que se n'étais pas le bon nom, c'est celle ou se trouve généralement le bouton Retour et autre truc smile

Hors ligne

#22 08-11-2008 16:35:31

Percuss
Modo Robot

Re : Application de Base - SDK Apple

Alors pour cette barre la tu a deux méthode pour l'utiliser.

1) Tu crée une barre comme fait la haut, et tu rajoute toi même tout ce que tu veux.
2) Tu utilise la structure navigationBar du SDK, tu a les animation qui vont avec mais tu ne peut pas y mettre tout ce que tu veut.

Tout dépend à quoi elle va servir, est-ce que c'est juste une barre de navigation? ou bien une barre d'outils ?


PS: Quoi que au final, tu peut rajouter ce que tu veut à chaque élément de l'écran en tant que subview

Hors ligne

#23 08-11-2008 16:37:59

jujucool290
Jujucool290

Re : Application de Base - SDK Apple

le méthode 2) c'est du code ou un "outils" pour "aider" a faire tout sa

Hors ligne

#24 08-11-2008 16:42:52

Percuss
Modo Robot

Re : Application de Base - SDK Apple

C'est toujours du code.

Juste que dans la méthode 2) certaines choses sont déjà programmée à ta place.
Par exemple, dans la méthode 1), tu devra choisir la taille de la barre, sont emplacement, sa couleur, ce qu'elle contient etc.....

Dans la méthode 2) tu auras juste besoin de décrire les bouton et le titre de la barre.
C'est plus simple, mais c'est limité, ça peut néanmoins largement suffire.

Hors ligne

#25 08-11-2008 16:57:53

jujucool290
Jujucool290

Re : Application de Base - SDK Apple

SUPER, merci beaucoup Percuss, jais trop hâte de avoir mon iMac (avec win dessus) avec se SDK, punaise !!.

sinon il y aurais un code (je pense complexe) c'est d'afficher du contenue d'un site dans une app, mais attention se serais un truck stille qui affiche une page de net, nan c'est comme un lecteur rss.

enfin c'est dure a expliquer si tu n'a pas compris je vais te faire un screen d'une app qui fait un peut sa (ou le nom directement, c'est sur l'app store et gratuit)

Hors ligne

Pied de page des forums