Dans ce tuto Xcode vous allez apprendre à créer, vous même, un lecteur RSS pour iPhone, qui vous permettra d'afficher les news de votre site ou blog via un simple flux XML. L'application que nous allons créer ensemble dans ce tuto iPhone en vidéo, vous permettra d'afficher pour chaque article : un titre, une image et un extrait de texte, mais également la version intégrale de l'article dans sa version web, au sein même de l'application !
Grâce à ce tuto iPhone Lecteur RSS, vous apprendrez à :
- Parser un fichier XML avec la librairie TBXML
- Enregistrer les données dans CoreData
- Faire des requêtes CoreData
- Vider une entité CoreData
- Gérer la mise à jour des news
- Formater une date
- Remplacer des occurrences dans une chaîne de caractères
- Personnaliser les cellules d'un TableView
- Utiliser un navigationController et pousser une vue depuis un tableView
Si vous avez un site ou un blog, c'est le moment de créer vous même votre application et de la proposer à vos lecteurs !
Note : les sources sont livrées avec ce tuto iPhone ce qui vous permettra d'aller encore plus vite dans le développement de votre application et de recréer les manipulations du formateur, qui sont montrées à l'écran.
Jetez un oeil à ces autres tuto Xcode 3.2.4
Login iPhone via une base…
Dans ce tuto iPhone, vous apprendrez à gérer une identification…
Créer votre application iPhone-iPad…
Voici une formation Xcode de près de 4h, découpée en 20 tuto…
CocoaPods
Voici un tuto Objective-C dédié à CocoaPods. CocoaPods permet…
Xcode 4 : Prise en main
Xcode 4 vient tout juste de sortir et l'environnement est sensiblement…
Core Data : la base de données…
Dans ce tuto iPhone Xcode, vous apprendrez à manier le concept…
Réalisation d'un mini navigateur…
Dans ce nouveau tuto Xcode pour iPhone, vous apprendrez à réaliser…
Développement d'applications…
Tout dʼabord, nous commencerons avec le classique Hello World!…
Pour vous faire un avis, voici un extrait de quelques secondes. La version complète et téléchargeable de ce tuto Xcode 3.2.4 de 2 heures 26 minutes est proposée dans une résolution plus grande que l’extrait suivant :
lbstephane
, formateur certifié
Expert en sécurité informatique, j'ai pour passion les nouvelles technologies et notamment celle touchant au web 2.0.
Utilisateur Mac et Iphone, j'ai décidé de me mettre au développement sur ces plateformes et je suis heureux de vous faire partager les connaissances que j'ai acquis.
Retrouvez-moi sur FaceBook dans le groupe SLB Tutos et sur Twitter : lbstephane
En savoir plus sur lbstephane
Témoignage des clients de lbstephane
![]()
Enfin des tuto pour Xcode 4 !!! (Et non Xcode 3 qui n'a plus rien à voir avec la version 4, surtout pour les grands débutants)... Vivement d'autres tuto de votre part pour XCode 4 !!! Merci d'avance !
![]()
Ses tutos m'ont beaucoup aidé à comprendre le langage XCode.
![]()
Bonjour à vous ! Je viens de passer la nuit sur le tuto de parsage XML avec Core Data, et bien, tuto superbement réalisé, clair et précis, ça me donne plein d'idées pour la suite tout cela ! Merci !
![]()
Excellent tuto. Merci beaucoup.
![]()
Mes enfants m'ont offert un IPAD pour noël. Équipé d'un iMac, j'ai téléchargé le SDK et grâce à vos tutos clairs, bien détaillés et surtout en français, j'essaye de les réaliser !
D'autres tuto de lbstephane
SplashScreen Avancé
Dans ce tuto iPhone nous verrons comment réaliser un splash screen avancé. Vous retrouvez…
Initiation au multitache de l'iOS4 iPhone
Dans ce tuto iPhone et Xcode nous verrons les bases du développement d'une application…
Intégration de iAd
Dans ce tutorial pour iPhone, nous verrons comment intégrer la régie publicitaire iAd…
iPad - splitViewController
Dans ce premier tuto consacré au développement sur iPad, nous abordons deux fonctionnalités…
Notes attribuées par les utilisateurs (17 votes)
Les avis / Questions des utilisateurs (42)
Donnez votre avis ou posez une question au formateur.
Vous souhaitez commenter ce tuto vidéo ? Créez un compte gratuit. Déjà membre ? Identifiez-vous
Ce tuto en résumé ...
Ce tuto Xcode 3.2.4 d’une durée de 2 heures 26 minutes a été acheté 211 fois et a reçu une note moyenne de 4/5.
Ce tuto a été publié le 7 novembre 2010 par lbstephane, formateur certifié par Tuto.com, ayant reçu une note moyenne de 4,6/5 pour l’ensemble de ses vidéos, dans la catégorie Tuto Xcode Application.
Tous les fichiers sources sont fournis avec cette formation. Ces derniers vous permettront de reproduire les manipulations expliquées dans cette formation.
Ce tuto video vous expliquera étape par étape, toutes les manipulations présentées par le formateur.
Toutes nos vidéos sont visionnées par notre équipe, avant d’être mises en ligne, garantissant ainsi la qualité des produits téléchargés.











(a acheté ce tuto - 18 mai 2012)
" Très bon tuto pour ma part !!!
Une petite question tout de même :
Est-il possible de styliser la barre de titre "News" ainsi que de lui rajouter un bouton pour actualiser les news ?? "
(a acheté ce tuto - 07 mars 2012)
" Très bon tuto.
N'est pas tout à fait à jour et m'a demandé quelques subtilités avec Xcode 4 mais en tout cas, parfait à mon gout...
Bravo pour le choix de TBXML (qui est aujourd'hui sous une nouvelle version aussi)
Un très bon coté pédagogue...
Merci beaucoup, aucun regret ! "
(a acheté ce tuto - 04 décembre 2011)
" Excéllent Tuto,
Une petite question, comment remplacer l'image de la catégorie par celle de l'article?
Merci
"
(auteur de ce tuto - 16 octobre 2011)
" @Montgomery :
Pour récupérer un attribut, il suffit de déclarer un élément par exemple category et ensuite de faire : [TBXML valueOfAttributeNamed:@"nom" forElement:category]; cela récupèrera un élément constitué comme ceci en XML <categorie nom="News">
J'espère que cela vous aide un peu :) "
(a acheté ce tuto - 14 octobre 2011)
" salut Stéphane j ai deux soucis avec mon flux xml .
mon problème est que j ai pas la date de publication du xml et mes images sons dans un serveur et j'ai une balise images qui contient le nom de l'image .
mes catégories ne sont pas dans ma balise principale mais sur une autre balise qui a un attribut label =" nomDeMaCagerie" et je voudrais affiché le nom sous chaque article
j ai aussi plusieurs xml .
exemple de mon xml :
<actualites>
<actualite id="727" >
<titre>lancement </titre>
<sous_titre></sous_titre>
<link></link>
<date>15/09/2011</date>
<img>a946a90017cc451ccde116a5f4b4e19a.jpg</img>
<description>bla bla bla </description>
<theme_id>8</theme_id>
</actualite>
<actualite id="727" >
<titre>lancement </titre>
<sous_titre></sous_titre>
<link></link>
<date>15/09/2011</date>
<img>a946a90017cc451ccde116a5f4b4e19a.jpg</img>
<description>bla bla bla </description>
<theme_id>8</theme_id>
</actualite>
<theme id="0" label="Tous les articles" />
<theme id="5" label="Sport" />
<theme id="7" label="Actions" />
</theme>
</actualites>
une solution ou une idéé
merci
"
(n'a pas acheté ce tuto - 13 septembre 2011)
" Ce tuto fonctionne t il aussi avec la version xcode 4 ? "
(a acheté ce tuto - 12 août 2011)
" Bravo pour le travail réalisé, le tuto m'a permis de bien comprendre votre démarche et j'ai réussi a créer un lecteur de flux XML avec un arbre XML complètement différent (je m'amuse a créer un annuaire).
"
(auteur de ce tuto - 09 mai 2011)
" @ninux : mon site est offline pour le moment. Vous pouvez prendre n'importe quel flux RSS d'un site de votre choix, il suffira d'adapter le nom de certains champs. "
(a acheté ce tuto - 04 mai 2011)
" votre flux rss m'est inaccessible pouvez vous nous en fournir un comme example svp? "
(a acheté ce tuto - 24 avril 2011)
" Question de noob: au tout debut lorsque j'essaye d'importer le frameworkd libz.dylib, il me met qu'un fichier avec une icone blanche, et non une espece de boite a outils jaune comme les autres frameworks... et evidemment cela ne marche pas quand je compile:
Bug:
warning: ignoring file /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.3.1 (8G4)/Symbols/usr/lib/libSystem.dylib, missing required architecture i386 in file
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-gcc-4.2 failed with exit code 1 "
(a acheté ce tuto - 23 avril 2011)
" Pardon... J'ai la 3.2.6 "
(a acheté ce tuto - 23 avril 2011)
" J'ai la dernière version, la 4.3 je crois... "
(auteur de ce tuto - 22 avril 2011)
" @Jules : Quelle version de Xcode avez-vous ? "
(a acheté ce tuto - 19 avril 2011)
" J'ai réalisé le tuto en entier mais quand je clique sur Build and Run il m'affiche une erreur : [BEROR]error: There is no SDK with the name or path 'iphoneos4.1
Que puis-je faire pour y remédier ?
Merci d'avance
Jules "
(a acheté ce tuto - 07 avril 2011)
" Salut et merci pour ce tuto. Un cas de figure qui n'a pas été envisagé même si cela ne doit pas arriver souvent. S'il n'y a pas de connexion au premier lancement, c'est à dire que la personne n'a pas lancé l'appli juste après l'avoir téléchargée et qu'au moment où elle la lance il n'y a pas de réseau, ça déclenche une exception sur Core Data pendant l'update. J'ai réglé le problème avec l'API reachability en créant une méthode checkForConnection. S'il n'y a pas de connexion au lancement cela avertit l'utilisateur, sinon il lance la méthode checkForUpdate. En général, les utilisateurs lancent l'appli directement après l'avoir téléchargée pour voir à quoi ça ressemble mais si cela arrive une fois, l'appli plantera à chaque lancement ensuite, dommage. De plus, l'API peut permettre de rafraîchir automatiquement le flux quand il retrouve une connexion... c'est pas beau ça ?
Voir ici >> http://developer.apple.com/library/mac/#documentation/Networking/Conceptual/SystemConfigFrameworks/SC_ReachConnect/SC_ReachConnect.html <<
Allez bisous,
K. "
(a acheté ce tuto - 18 mars 2011)
" Super Tuto.
Merci
j'ai chercher un peut partout pour trouver une solution a mon problème avec TBXML.
J'ai un BD Core data a 2 table avec une Relationship , et je n'arrive pas a lier mais deux table avec TBXML.
Avec NSXMLPaser est core data [1table add"Relationship"object:2table].
Mais sous TBXML je n'ai pas trouver l'équivalent.?
Merci encore pour tout les tuto.
"
(a acheté ce tuto - 25 février 2011)
" j'ai fouillé un peu le net et vu que TBXML marche en utf8, pas de bol j'étais en ISO ... (je sais c'est un mauvais réflexe)
j'ai modifié mon encodage et j'arrive à afficher mes balises dans la console !!!
je vais poursuivre.
En tout cas tuto super. Bien expliqué. Merci beaucoup "
(auteur de ce tuto - 24 février 2011)
" @iPmax : Non car je ne l'ai pas, je vais vérifier la source.
@webazard : Avez-vous bien défini l'élément root ? Avez-vous un lien vers votre fichier XML que je regarde ? Envoyez moi un mail si besoin. "
(a acheté ce tuto - 23 février 2011)
" Bjr, super tuto ! je debute en xcode/objective c donc ma question est peu etre null mais bon si on demande pas, on avance ca ^^
j'ai refait le tuto pas a pas et je bloque au debut !!! mon xml ... root renvoie null
mon fichier est pourtant valide xml avec la console j'ai ceci
tbxml : <TBXML 0x4b29490>
root : (null)
j'ai donc fait le test en emttant le xml das le rep resources (add/existing files ..) mais j'ai le mm soucis une petite idee ?
merci "
(a acheté ce tuto - 11 février 2011)
" "_OBJC_CLASS_$_TutoXMLAppDelegate", referenced from:
J'ai cette erreur avec ton projet Xcode c'est normal ?
"
(a acheté ce tuto - 10 février 2011)
" Stephane,
Comment peut-on changer la couleur (ou mettre une image de fond) de la barre de navigation en haut de l'app (là où il est écrit "News") ? Pour la barre de navigation en bas, j'arrive à changer la couleur en passant par le Builder, mais pour la barre du haut, c'est niet :(
Nb : hier, j'ai téléchargé l'app Lokan pour voir... "Ca le fait" comme l'on dit ;) "
(a acheté ce tuto - 08 février 2011)
" Autre chose : avoir accès aux statistiques avec Google Analytics semble compromis avec la seconde méthode et avoir des stats est essentiels... La première méthode ne me va pas pour des raisons de présentation et je tiens à garder éventuellement la possibilité ultérieure de proposer une version mobile, mais qui ne soit pas présenté de la même façon que dans l'App... Je ne sais pas si je me fait bien comprendre :(
Je tourne en rond :)) "
(a acheté ce tuto - 08 février 2011)
" La seconde approche me semble préférable, mais le soucis est que les commentaires et le formulaire pour commenter n'apparaitrait pas.... "
(auteur de ce tuto - 08 février 2011)
" Il vous suffit de détecter le navigateur, en php on peut le faire à l'aide de la variable $HTTP_USER_AGENT, ensuite il vous reste à appliquer un CSS différent en fonction du navigateur.
Autre approche, ajouter le contenu total à votre XML, le télécharger, et le charger dans une webView que l'on initialise non pas avec une URL mais une chaine de caractères [webvie w loadHTMLString: moncontenu baseURL:nil];
Voila les pistes, à vous de jouer :) "
(a acheté ce tuto - 08 février 2011)
" Comme je le disais, tout fonctionne parfaitement en installant une version mobile du site web.
Une pensée... Peut-on faire la même chose sans installer une version mobile ? Si oui (et je pense que oui), comment ?
nb : à l'image de l'app de MacG ou 4ever par exemple. "
(a acheté ce tuto - 07 février 2011)
" Ok Stephane, ça marche parfaitement. Merci encore pour ce tuto simple à comprendre. Un vrai talent de formateur ! Bravo.
Il ne reste plus qu'un petit tuto pour adapter cela sur iPad ;) "
(auteur de ce tuto - 07 février 2011)
" @DM75
Pour votre problème Worpress, c'est tout simplement que vous n'avez pas de theme adapté à la navigation mobile, je vous conseil l'installation de WPTouch (plugin wordpress) qui devrait vous donner satisfaction.
Concernant les boutons, s'ils ne fonctionnent pas, pensez à vérifiez que vous avez bien connecté le delegate de votre webview. Sans ce delegate, les boutons ne peuvent fonctionner.
Bon courage
Stephane "
(a acheté ce tuto - 07 février 2011)
" Superbe tutoriel, mais un soucis me saute aux yeux. Je récupère bien les news de mon site (et les dates sont bien indiquées) avec les extraits, mais lorsque je veux lire un article, c'est malheureusement la page entière du site qui s'affiche (avec le sidebar (j'ai un site sous Wordpress)). Ca, c'est le GROS soucis.
Deuxième chose, le refresh marche bien, mais pas les boutons "précédent/suivant"...
Une idée du pourquoi et du comment régler le soucis ? "
(a acheté ce tuto - 25 janvier 2011)
" Ok, merci :)
J'ai réussi a implémenter le pullToRefresh (EGOTableViewPullRefresh), j'ai aussi ajouté l'effet slide-cell du tuto de ceetix (pour une future intégration de twitter/Facebook etc.), le rendu est excellent :D
Manque plus que de vérifier la fonction Refresh(ou la corriger si fausse) et voilà :D "
(auteur de ce tuto - 25 janvier 2011)
" Le bouton refresh sera pour plus tard mais c'est assez simple :) Le pull est un peu plus complexe :p
Pour appeler une fonction d'une autre class c'est assez simple.
#import "maClass.h" dans le .m
ensuite on déclare une instance de la classe sans le nib car on a pas besoin du fichier graphique donc
maClass *maclassVC = [[maClass alloc] init];
ensuite pour appeler la fonction :
[maclassVC checkForUpdate];
N'oubliez pas de releaser la class quand elle ne sert plus.
Merci pour le commentaire et la note :) "
(a acheté ce tuto - 24 janvier 2011)
" Super tuto, manque plus qu'un bouton "refresh" ou le magnifique "pull-to-refresh" (comme dans Twitter (que je suis en train d'implémenter)) et c'est parfait.
J'ai justement une question:
comment dois-je faire pour appeller la fonction checkForUpdate depuis une autre class que le delegate (comme par ex. NewsViewController) ?
Merci encore pour ce tuto qui, comme les autres, est d'une qualité exelentissime :D "
(a acheté ce tuto - 30 décembre 2010)
" J'ai fini le tuto, GÉNIAL !
Par contre, juste une autre question, j'ai une application en tabbar en fait, et dans chaque tabbar item, il faudrait que ça fasse la même chose mais avec d'autres fichiers XML, comment puis-je charger d'autres fichiers, avec d'autres attributs, etc... ?
Merci d'avance et super, ce tuto, on en a pour notre argent :) "
(a acheté ce tuto - 29 décembre 2010)
" Je suis a la fin de la 4 vidéo mais quand j'essaye d'ouvrir l'application sur le simultateur elle se referme imédiatement ! as tu une solution ? "
(a acheté ce tuto - 28 décembre 2010)
" Excusez-moi, le lien s'est modifié tout seul en rajoutant des points virgules, le vrai est
http://data.keolis-rennes.com/xml/?version=2.0&key;=QWWO1BZQMS8CLI3&cmd;=getbikestations
Excusez-moi, j'ai mis la mauvais balise dans le nextSibling. Je chercherai plus avant de reposter... :)
Merci beaucoup pour cette aide rapide, et très bon tuto, je m'y remets ! "
(auteur de ce tuto - 28 décembre 2010)
" Si j'affiche la source de votre lien, je n'ai qu'un item, donc ça me semble logique.
Pensez à bien mettre les items à répéter dans la boucle while comme dans le tuto et ne pas oublier le nextSibling ... "
(a acheté ce tuto - 28 décembre 2010)
" Désolé de vous innonder de questions mais j'ai réussi à charger mon fichier xml, même avec la balise <opendata> en début de fichier mais, bizarrement, mon application ne charger que le premier item de la liste, donc, seulement le premier titre, etc... alors que j'ai des dizaines d'item.
Mon fichier est celui-ci : http://data.keolis-rennes.com/xml/?version=2.0&key;=QWWO1BZQMS8CLI3&cmd;=getbikestations
Merci d'avance "
(auteur de ce tuto - 28 décembre 2010)
" Certains fichiers sont effectivement complètement différents. Il faut suivre la méthode que j'utilise et l'adapter en fonction des balises "parents" et des éléments "enfants".
Avec TBXML c'est assez simple, prends ton fichier, détermine où sont les parents et quels enfants tu veux traiter. La première balise en en-tête sera ton élément root, ensuite il faut dérouler en suivant la méthode. "
(a acheté ce tuto - 25 novembre 2010)
" Salut,
je te félicite pour ce "cours" excellentissime car plus novice que moi en la matière y a surement pas et je profite de ce tuto pour m'initier !
Seulement voila, première difficulté pour moi, je ne sais pas où "pêcher" Xcode ?
merci de m'aiguiller ...... "
(a acheté ce tuto - 12 novembre 2010)
" Je note 5*, mais weecast dit que je ne peux pas étrange . "
(a acheté ce tuto - 12 novembre 2010)
" Super tuto Merci "
(a acheté ce tuto - 08 novembre 2010)
" Le teaser est vraiment au top bravo.
Je viens de finir de voir de le tuto et franchement c'est excellent super bien expliqué même une grand-mère pourrait y arriver avec tes explications lol.
Je dirais autre chose tu dois être devin car je suis entrain de me faire une appli et comme par hasard tu sors ton tuto au moment ou j'en ai besoin lol.
Allez bonne continuation et merci ++ "
(n'a pas acheté ce tuto - 08 novembre 2010)
" Je voudrais tout d'abord te féliciter pour ta bande annonce ( Magnifique ) ...
Je trouve le tuto vraiment intéréssant et je me ferais une joie de me l'ofrir pour noel ...
Merci ... Et Bonne Continuation ...
Alexbasket "