<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>iPhone and Go &#187; Tutorial pratici software iPhone</title>
	<atom:link href="http://iphoneandgo.wordpress.com/category/tutorial-pratici-software-iphone/feed/" rel="self" type="application/rss+xml" />
	<link>http://iphoneandgo.wordpress.com</link>
	<description>SDK, Objective-C, programmazione, tutti elementi necessari per dar vita ad un'idea un progetto tutto Italiano per l'iPhone.</description>
	<lastBuildDate>Fri, 19 Sep 2008 06:33:59 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>it</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='iphoneandgo.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/be479cd9e2c5d94cceb618d09f1093fc?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>iPhone and Go &#187; Tutorial pratici software iPhone</title>
		<link>http://iphoneandgo.wordpress.com</link>
	</image>
			<item>
		<title>Tutorial iphone sulla visualizzazione in dettaglio da menu (drill down). Pratica [n.5]</title>
		<link>http://iphoneandgo.wordpress.com/2008/09/12/tutorial-iphone-sulla-visualizzazione-in-dettaglio-da-menu-drill-down-pratica-n5/</link>
		<comments>http://iphoneandgo.wordpress.com/2008/09/12/tutorial-iphone-sulla-visualizzazione-in-dettaglio-da-menu-drill-down-pratica-n5/#comments</comments>
		<pubDate>Fri, 12 Sep 2008 22:24:56 +0000</pubDate>
		<dc:creator>stefanoloduca</dc:creator>
				<category><![CDATA[Tutorial pratici software iPhone]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[drilldown]]></category>
		<category><![CDATA[interface builder]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://iphoneandgo.wordpress.com/?p=628</guid>
		<description><![CDATA[In questa prova pratica andremo a sviluppare una sorta di menu da poter selezionare e poter quindi entrare in una nuova vista per visualizzare il dettaglio della scelta effetuata.
L&#8217;applicazione da me tradotta e spiegata e&#8217; stata gentilmente presa dal sito www.iphonesdkarticles.com.
Iniziamo come al solito aprendo il nostro Xcode e creando un nuovo progetto del tipo [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iphoneandgo.wordpress.com&blog=4499895&post=628&subd=iphoneandgo&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><div id="attachment_654" class="wp-caption alignleft" style="width: 74px"><a href="http://iphoneandgo.files.wordpress.com/2008/09/pra13_09.png"><img class="size-full wp-image-654" title="iphoneandgo pratica" src="http://iphoneandgo.files.wordpress.com/2008/09/pra13_09.png?w=64&#038;h=75" alt="Pratica" width="64" height="75" /></a><p class="wp-caption-text">Pratica</p></div>
<p style="text-align:justify;">In questa prova pratica andremo a sviluppare una sorta di menu da poter selezionare e poter quindi entrare in una nuova vista per visualizzare il dettaglio della scelta effetuata.</p>
<p style="text-align:justify;">L&#8217;applicazione da me tradotta e spiegata e&#8217; stata gentilmente presa dal sito <a title="iphonesdkarticles" href="www.iphonesdkarticles.com" target="_blank">www.iphonesdkarticles.com</a>.</p>
<p style="text-align:justify;">Iniziamo come al solito aprendo il nostro Xcode e creando un nuovo progetto del tipo :&#8221;navigation Based application&#8221; che andremo a chiamare MenuDettaglio.<span id="more-628"></span></p>
<p style="text-align:justify;">Come prima fase andremo a popolare il nostro menu per la scelta del dettaglio da visualizzare:</p>
<div id="attachment_632" class="wp-caption aligncenter" style="width: 234px"><a href="http://iphoneandgo.files.wordpress.com/2008/09/iphoneandgo_pratica_5_1.png"><img class="size-full wp-image-632" title="iphoneandgo pratica 5" src="http://iphoneandgo.files.wordpress.com/2008/09/iphoneandgo_pratica_5_1.png?w=224&#038;h=427" alt="iPhone menu" width="224" height="427" /></a><p class="wp-caption-text">iPhone menu</p></div>
<p style="text-align:justify;">Molte parti del codice sono già state create dal sistema quindi ora andremo a inserire innanzi tutto il titolo. Dall&#8217; XCode scegliamo il file per l&#8217;interfaccia grafica MainWindow.xib dentro resources e clicchiamo due volte. Si aprirà il nostro Interface Builder e selezioniamo (cliccando una volta) sopra la barra blu che si trova in alto della nostra finestra. Una volta selezionato tra le proprietà andiamo a riempire il campo &#8220;Title&#8221; con : Parent View.</p>
<div id="attachment_634" class="wp-caption aligncenter" style="width: 364px"><a href="http://iphoneandgo.files.wordpress.com/2008/09/iphoneandgo_pratica_5_2.png"><img class="size-medium wp-image-634" title="iphoneandgo_pratica_5_2" src="http://iphoneandgo.files.wordpress.com/2008/09/iphoneandgo_pratica_5_2.png?w=354&#038;h=186" alt="iPhone interface builder" width="354" height="186" /></a><p class="wp-caption-text">iPhone interface builder</p></div>
<p style="text-align:justify;"><strong>Ora andiamo a caricare i dati nella tabella principale.</strong> Per fare ciò dobbiamo ritornare nel nostro XCode e sceglire il file : RootViewController.m nella cartella class. Si creerà prima una variabile istanza di nome listOfContents (che non sarà altro che l&#8217;array per contenere i titoli del menu). Dopodichè andremo a popolare il nostro array utilizzando l&#8217;oggetto NSLocatizedString il quale conterrà due variabili una key e una comment.</p>
<p style="text-align:justify;">Inseriamo il codice in rosso e in verde(opzionali) come segue all&#8217;interno della funzione viewDidLoad:</p>
<p style="text-align:justify;">- (void)viewDidLoad {</p>
<p><span style="color:#339966;"> //initialize the array</span><br />
<span style="color:#ff0000;"> self.listOfContents = [[NSMutableArray alloc] initWithCapacity:10];<br />
</span><br />
<span style="color:#339966;"> //Add a dictionary object to the array.<br />
//Dictionary object will contain a strings for the object and key.<br />
//NSLocalizedString takes two variables a key and a comment.</span></p>
<p><span style="color:#ff0000;"> [listOfContents addObject:NSLocalizedString(@"Menù scelta 1", @"")];<br />
[listOfContents addObject:NSLocalizedString(@"Menù scelta 2", @"")];<br />
[listOfContents addObject:NSLocalizedString(@"Menù scelta 3", @"")];<br />
[listOfContents addObject:NSLocalizedString(@"Menù scelta 4", @"")];<br />
[listOfContents addObject:NSLocalizedString(@"Menù scelta 5", @"")];<br />
[listOfContents addObject:NSLocalizedString(@"Menù scelta 6", @"")];<br />
[listOfContents addObject:NSLocalizedString(@"Menù scelta 7", @"")];<br />
[listOfContents addObject:NSLocalizedString(@"Menù scelta 8", @"")];<br />
[listOfContents addObject:NSLocalizedString(@"Menù scelta 9", @"")];<br />
[listOfContents addObject:NSLocalizedString(@"Menù scelta 10", @"")];</span></p>
<p>}</p>
<p>Inseriamo ora il conteggio delle righe create nel seguente metodo :</p>
<p>- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {<br />
return <span style="color:#ff0000;">[listOfContents count]</span>;<br />
}</p>
<p>E la disallocazione della memoria :</p>
<p>- (void)dealloc {<br />
<span style="color:#ff0000;"> [listOfContents release];</span></p>
<p style="text-align:justify;"><strong>Il prossimo passo sarà quello di riempire le celle</strong> da mostrare con il testo inserito nell&#8217;array.  Questo metodo verrà chiamato n volte dove per &#8220;n&#8221; sta il numero di righe del menu.</p>
<p>Utilizzando sempre il file RootViewController.m posizioniamoci dopo la funzione iscritta in nero e inseriamo il codice in rosso e verde:</p>
<p><span style="color:#339966;">//This method will be called n number of times.<br />
//Where n = total number of items in the array.</span><br />
<span style="color:#000000;">- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {</span></p>
<p><span style="color:#000000;">static NSString *MyIdentifier = @&#8221;MyIdentifier&#8221;;</span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;">UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];<br />
if (cell == nil) {<br />
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:MyIdentifier] autorelease];<br />
}</span><br />
</span><br />
<span style="color:#339966;"> // Set up the cell with some formatting.</span><br />
<span style="color:#ff0000;"> cell.font = [UIFont systemFontOfSize:14];</span><br />
<span style="color:#339966;"><br />
//Get the string from the array and add it as text for the cell.</span><br />
<span style="color:#ff0000;"> cell.text = [listOfContents objectAtIndex:indexPath.row];</span></p>
<p><span style="color:#339966;"> <span style="color:#000000;">// return the table cell.</span></span><span style="color:#000000;"><br />
</span> <span style="color:#000000;"> return cell;<br />
}</span></p>
<p>Ora aggiungiamo a inzio codice la sua &#8220;synthesize&#8221; della lista come segue:</p>
<p>@implementation RootViewController<br />
<span style="color:#ff0000;"><br />
@synthesize listOfContents;</span></p>
<p>Portiamoci ora sul file head RootViewController.h e aggiungiamo le seguenti dichiarazioni :</p>
<p>@interface RootViewController : UITableViewController {<br />
<span style="color:#ff0000;"> NSMutableArray *listOfContents;</span><br />
}</p>
<p><span style="color:#ff0000;">@property (nonatomic, retain) NSMutableArray *listOfContents;</span></p>
<p style="text-align:justify;">Se tutto e&#8217; andato per il verso giusto provate a compilare l&#8217;applicazione (build and go) e dovrebbe apparire il menu con le 10 scelte potendole selezionare ma senza entrare nel dettaglio della vista.</p>
<p style="text-align:justify;"><strong>Ora dobbiamo caricare la vista in dettaglio</strong>. Il metodo didSelectRowAtIndexPath sempre del nostro RootViewController.m viene chiamato quando viene selezionato un menu nella tabella. Per la gestione della memoria più efficente si caricherà la vista dettaglio solo la prima volta che si selezionerà per poterla poi utilizzare ad ogni ripetizione di selezione. Per fare questo dovremmo creare una variabile istanza di DetailViewController nella RootViewConltroller.</p>
<p style="text-align:justify;">Dobbiamo creare nel nostro progetto due nuovi file da inserire di nome DetailViewController.h e DetailViewController.m andiamo su file, nuovo file e scegliamo : NSObjects subclass. Da qui si potrà inserire direttamente il file DetailViewController che verra creato sia .m che .h.</p>
<p style="text-align:justify;">Selezioniamo il detailviewController.h e inseriamo il seguente codice:</p>
<p style="text-align:justify;">@interface DetailViewController : UIViewController {</p>
<p><span style="color:#ff0000;">IBOutlet UILabel *lblMessage;<br />
int rowNumber;</span></p>
<p>}</p>
<p style="text-align:justify;"><span style="color:#ff0000;">@property (nonatomic, retain) IBOutlet UILabel *lblMessage;<br />
@property (readwrite) int rowNumber;</span></p>
<p>-(void)updateRowNumber:(int)theIndex;</p>
<p>@end</p>
<p style="text-align:justify;">e invece nel file DetailViewController.m il segente codice :</p>
<p style="text-align:justify;">@implementation DetailViewController<br />
<span style="color:#ff0000;"><br />
@synthesize lblMessage, rowNumber;</span></p>
<p><span style="color:#ff0000;">- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {<br />
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {</span><br />
<span style="color:#339966;"> // Initialization code</span><br />
<span style="color:#ff0000;"> self.title = @&#8221;Detail View&#8221;;<br />
}<br />
return self;<br />
}</span></p>
<p><span style="color:#339966;">/*<br />
Implement loadView if you want to create a view hierarchy programmatically<br />
- (void)loadView {<br />
}<br />
*/</span></p>
<p><span style="color:#ff0000;">-(void)updateRowNumber:(int)theIndex {</span></p>
<p><span style="color:#ff0000;">rowNumber = theIndex+1;<br />
lblMessage.text = [NSString stringWithFormat:@"row %i was clicked.", rowNumber];<br />
}</span></p>
<p><span style="color:#339966;">//If you need to do additional setup after loading the view, override viewDidLoad.</span><br />
<span style="color:#ff0000;">- (void)viewDidLoad {</span></p>
<p><span style="color:#ff0000;">lblMessage.text = [NSString stringWithFormat:@"row %i was clicked.", rowNumber];<br />
}</span></p>
<p><span style="color:#ff0000;">- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {</span><br />
<span style="color:#339966;"> // Return YES for supported orientations</span><br />
<span style="color:#ff0000;"> return (interfaceOrientation == UIInterfaceOrientationPortrait);<br />
}</span></p>
<p><span style="color:#ff0000;">- (void)didReceiveMemoryWarning {<br />
[super didReceiveMemoryWarning];</span> <span style="color:#339966;">// Releases the view if it doesn&#8217;t have a superview<br />
// Release anything that&#8217;s not essential, such as cached data</span><br />
<span style="color:#ff0000;">}</span></p>
<p><span style="color:#ff0000;"><br />
- (void)dealloc {<br />
[lblMessage release];<br />
[super dealloc];<br />
}</span></p>
<p>@end</p>
<p style="text-align:justify;"><strong>Ora facciamo le varie assegnazioni</strong> di prorietà dal file RootViewController.h aggiungiamo il seguente codice :</p>
<p style="text-align:justify;"><span style="color:#ff0000;">@class DetailViewController;</span></p>
<p style="text-align:justify;">@interface RootViewController : UITableViewController {<br />
NSMutableArray *listOfContents;<br />
<span style="color:#ff0000;"> DetailViewController *dvController;</span><br />
}</p>
<p>@property (nonatomic, retain) NSMutableArray *listOfContents;<br />
<span style="color:#ff0000;">@property (nonatomic, retain) DetailViewController *dvController;</span></p>
<p style="text-align:justify;">Ora dal file RootViewController.m :</p>
<p style="text-align:justify;">@synthesize listOfContents, <span style="color:#ff0000;">dvController</span>;</p>
<p style="text-align:justify;">e dall&#8217;interno del metodo didSelectRwIndexPath:</p>
<p style="text-align:justify;">- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {<br />
// Navigation logic</p>
<p><span style="color:#339966;"> //Check to see if the controller is nil or not.</span><br />
<span style="color:#ff0000;"> if(dvController == nil)<br />
{</span><br />
<span style="color:#339966;"> //Initialize the controller.</span><br />
<span style="color:#ff0000;"> DetailViewController *aController = [[DetailViewController alloc] initWithNibName:@&#8221;DetailView&#8221; bundle:nil];</span></p>
<p><span style="color:#339966;"> //Set the controller to our variable.</span><br />
<span style="color:#ff0000;"> self.dvController = aController;</span></p>
<p><span style="color:#339966;"> //Release the temp controller</span><br />
<span style="color:#ff0000;"> [aController release];<br />
}</span></p>
<p><span style="color:#ff0000;">[dvController updateRowNumber:indexPath.row];</span></p>
<p><span style="color:#339966;"> //Add the controller to the top of the present view.</span><br />
<span style="color:#ff0000;"> [[self navigationController] pushViewController:dvController animated:YES];</span><br />
}</p>
<p>Non dimentichiamo la disallocazione della memoria.</p>
<p><span style="color:#ff0000;"><span style="color:#000000;">- (void)dealloc {<br />
[listOfContents release];</span><br />
[dvController release];</span></p>
<p style="text-align:justify;">A questo punto ci manca però di creare una nuova vista Detailview.xib. Andiamo su file e clicchiamo su nuovo file . Selezioniamo -&gt; user interface -&gt; View XIB.</p>
<div id="attachment_645" class="wp-caption aligncenter" style="width: 310px"><a href="http://iphoneandgo.files.wordpress.com/2008/09/iphoneandgo_prativa_5_3.png"><img class="size-medium wp-image-645" title="iphoneandgo_prativa_5_3" src="http://iphoneandgo.files.wordpress.com/2008/09/iphoneandgo_prativa_5_3.png?w=300&#038;h=250" alt="New Xib file" width="300" height="250" /></a><p class="wp-caption-text">New Xib file</p></div>
<p style="text-align:justify;">Il file dovrà avere il nome DetailView.xib. Ora che e&#8217; presente nel XCode trasciniamolo dentro la cartella Resources e poi carichiamolo per aprirlo nell&#8217; interface builder.</p>
<p style="text-align:justify;">Applichiamoci una semplice Label al centro e poi selezioniamo per  la Class dell&#8217;oggetto File&#8217;s Owner ila voce : DetailViewController.</p>
<div id="attachment_646" class="wp-caption aligncenter" style="width: 375px"><a href="http://iphoneandgo.files.wordpress.com/2008/09/iphoneandgo_pratica_5_4.png"><img class="size-medium wp-image-646" title="iphoneandgo_pratica_5_4" src="http://iphoneandgo.files.wordpress.com/2008/09/iphoneandgo_pratica_5_4.png?w=365&#038;h=169" alt="Interface builder" width="365" height="169" /></a><p class="wp-caption-text">Interface builder</p></div>
<p style="text-align:justify;">Assegnamo poi i collegamenti tra : File&#8217;s Owner tenendo premuto il tasto CTRL e selezionando prima File&#8217;s Owner per trascinarlo fino a Label e scegliere IblMessage. Poi fare lo stesso da File&#8217;s Owner con il CTRL premuto fino ad uno spazio vuoto della finestra in modo da fare i collegamenti come in figura :</p>
<div id="attachment_647" class="wp-caption aligncenter" style="width: 240px"><a href="http://iphoneandgo.files.wordpress.com/2008/09/iphoneandgo_pratica_5_5.png"><img class="size-full wp-image-647" title="iphoneandgo_pratica_5_5" src="http://iphoneandgo.files.wordpress.com/2008/09/iphoneandgo_pratica_5_5.png?w=230&#038;h=394" alt="attributi " width="230" height="394" /></a><p class="wp-caption-text">attributi </p></div>
<p style="text-align:justify;">A questo punto ci siete e l&#8217;applicazione una volta salvata dovrebbe funzionare alla perfezione mostrando una volta selezionata una scelta di menu la sua pagina in dettaglio con l&#8217;indicazione di quale titolo e&#8217; stato selezionato.</p>
<p>Potete scaricare il sorgente dal seguente <a title="sorgente" href="http://www.iphoneandgo.org/download/menudettaglio.zip" target="_blank">link.</a></p>
<p><a title="Lezione 4" href="http://iphoneandgo.wordpress.com/2008/09/04/installare-e-vedere-la-nostra-applicazione-sulliphone-non-solo-sul-simulatore-pratica-n4/" target="_self">Articolo precedente</a> dell&#8217;argomento.</p>
<pre>iPhoneandGo - Stefano Lo Duca - loduca_ve@yahoo.it</pre>
<p style="text-align:justify;">
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/iphoneandgo.wordpress.com/628/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/iphoneandgo.wordpress.com/628/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/iphoneandgo.wordpress.com/628/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/iphoneandgo.wordpress.com/628/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/iphoneandgo.wordpress.com/628/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/iphoneandgo.wordpress.com/628/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/iphoneandgo.wordpress.com/628/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/iphoneandgo.wordpress.com/628/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/iphoneandgo.wordpress.com/628/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/iphoneandgo.wordpress.com/628/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/iphoneandgo.wordpress.com/628/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/iphoneandgo.wordpress.com/628/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iphoneandgo.wordpress.com&blog=4499895&post=628&subd=iphoneandgo&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://iphoneandgo.wordpress.com/2008/09/12/tutorial-iphone-sulla-visualizzazione-in-dettaglio-da-menu-drill-down-pratica-n5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1cd97a8d425a22fb96043284bf5bc082?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">lodux</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/09/pra13_09.png" medium="image">
			<media:title type="html">iphoneandgo pratica</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/09/iphoneandgo_pratica_5_1.png" medium="image">
			<media:title type="html">iphoneandgo pratica 5</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/09/iphoneandgo_pratica_5_2.png?w=300" medium="image">
			<media:title type="html">iphoneandgo_pratica_5_2</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/09/iphoneandgo_prativa_5_3.png?w=300" medium="image">
			<media:title type="html">iphoneandgo_prativa_5_3</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/09/iphoneandgo_pratica_5_4.png?w=300" medium="image">
			<media:title type="html">iphoneandgo_pratica_5_4</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/09/iphoneandgo_pratica_5_5.png" medium="image">
			<media:title type="html">iphoneandgo_pratica_5_5</media:title>
		</media:content>
	</item>
		<item>
		<title>Installare e testare la nostra applicazione sull&#8217;iPhone. Non solo sul Simulatore!. Pratica [n.4]</title>
		<link>http://iphoneandgo.wordpress.com/2008/09/04/installare-e-vedere-la-nostra-applicazione-sulliphone-non-solo-sul-simulatore-pratica-n4/</link>
		<comments>http://iphoneandgo.wordpress.com/2008/09/04/installare-e-vedere-la-nostra-applicazione-sulliphone-non-solo-sul-simulatore-pratica-n4/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 22:24:06 +0000</pubDate>
		<dc:creator>stefanoloduca</dc:creator>
				<category><![CDATA[Tutorial pratici software iPhone]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[certificate]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[profile]]></category>
		<category><![CDATA[simulator iphone]]></category>

		<guid isPermaLink="false">http://iphoneandgo.wordpress.com/?p=526</guid>
		<description><![CDATA[Un nostro amico Wuillo l&#8217;altro giorno mi ha formulato una domanda molto importante: Ciao Stefano, ho seguito i corsi pratici ho fatto il mio software l&#8217;ho testato sul simulatore iphone ed ha funzionato perfettamente, ma quando  poi ho scelto di provarlo sul device iphone  non e&#8217; partito restituendomi un errore !!! come mai ?
E&#8217; proprio [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iphoneandgo.wordpress.com&blog=4499895&post=526&subd=iphoneandgo&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><div id="attachment_564" class="wp-caption alignleft" style="width: 74px"><a href="http://iphoneandgo.files.wordpress.com/2008/09/pra05_09.png"><img class="size-full wp-image-564" title="Pratica iPhone" src="http://iphoneandgo.files.wordpress.com/2008/09/pra05_09.png?w=64&#038;h=75" alt="Pratica" width="64" height="75" /></a><p class="wp-caption-text">Pratica</p></div>
<p style="text-align:justify;">Un nostro amico Wuillo l&#8217;altro giorno mi ha formulato una domanda molto importante: Ciao Stefano, ho seguito i corsi pratici ho fatto il mio software l&#8217;ho testato sul simulatore iphone ed ha funzionato perfettamente, ma quando  poi ho scelto di provarlo sul device iphone  non e&#8217; partito restituendomi un errore !!! come mai ?<span id="more-526"></span></p>
<p style="text-align:justify;">E&#8217; proprio vero a volte le cose che sembrano le più scontate sono le più complesse e insidiose. Ricordo quando ho deciso (come credo molti di voi), dopo aver installato l&#8217; SDK versione gratuita sul Mac ,di comprare per i famosi 99 US$ la versione per la distrubuzione delle nostre applicazioni  o per poterle  installare in uno dei nostri iphone (magari averne anche più di uno&#8230; comunque non potete farlo su più di 99).</p>
<p style="text-align:justify;">Credevo che il gioco fosse fatto, e nel mio Xcode ho cambiato subito l&#8217;uscita dell&#8217;applicazione da Simulatore a Device iphone sperando di vedermelo proiettato sul multi touch dell&#8217;iphone !.. Niente di tutto ciò, l&#8217;applicazione come per il nostro Wuillo ha restituito un errore !!. e da li ho capito che non bastava pagare &#8230;</p>
<p style="text-align:justify;">Per acquistare l&#8217;SDK per la distribuzione innanzi tutto bisogna andare nel sito della Apple e fare la solita procedura di acquisto al seguente<a title="apple dev" href="http://developer.apple.com/iphone/program/apply.html" target="_blank"> link </a>e seguire le istruzioni per l&#8217;acquisto. Una volta ultimato e pagato bisognerà aspettare circa un giorno (almeno nel mio caso), dopodichè arriverà una conferma di acquisto via email (mi ricordo che non capivo se dovevo ricevere un CD con l&#8217; SDK, una chiave da inserire per sbloccarlo come si fa solitamente tra applicazioni free e a pagamento).</p>
<p style="text-align:justify;">Niente di tutto questo.. dopo il pagamento si ha accesso ad una sezione del sito apple che si chiama &#8220;iphone developer program&#8221; e per andarci bisogna andare prima al <a title="apple iphone" href="http://developer.apple.com/iphone/" target="_blank">link iphone</a> da qui effettuare il login e poi selezionare &#8220;Program Portal&#8221;.</p>
<div id="attachment_531" class="wp-caption aligncenter" style="width: 310px"><a href="http://iphoneandgo.files.wordpress.com/2008/09/portal_1.jpg"><img class="size-medium wp-image-531" title="Apple Portal" src="http://iphoneandgo.files.wordpress.com/2008/09/portal_1.jpg?w=300&#038;h=164" alt="Apple Portal iphone" width="300" height="164" /></a><p class="wp-caption-text">Apple Portal iphone</p></div>
<p style="text-align:justify;">Una volta entrati nel Program Portal ci troveremo difronte ad un vero applicativo fatto di menu e tab navigator (rigorosamente in inglese) che ci invita a fare un sacco di operazioni prima di poter vedere un nostro applicativo installato nel nostro iphone.</p>
<p style="text-align:justify;">Prima di spiegare la procedura che bisogna adottare per fare ciò credo sia giusto fare una panoramica di cosa andremo a fare.. e soprattutto perchè tante operazioni per un qualcosa che credo ai più doveva risultare immediata.</p>
<p style="text-align:justify;">La risposta sta nella sicurezza. Casa Apple tutela a più non posso le applicazioni che gireranno all&#8217;interno sia dell&#8217;apple store che di conseguenza dei nostri iphone. Si parlerà di richiesta certificati a casa Apple, di ritiro di certificati, di chiavi di sicurezza pubbliche e private, di identificazioni device, persone e applicazioni.. insomma si potrebbe scrivere solo dell&#8217;argomento un capito, non un articolo, quindi  meglio che cominciamo.</p>
<div id="attachment_539" class="wp-caption aligncenter" style="width: 310px"><a href="http://iphoneandgo.files.wordpress.com/2008/09/portal2.png"><img class="size-medium wp-image-539" title="Program Portal" src="http://iphoneandgo.files.wordpress.com/2008/09/portal2.png?w=300&#038;h=279" alt="Program Portal" width="300" height="279" /></a><p class="wp-caption-text">Program Portal</p></div>
<p style="text-align:justify;"><strong>Prima fase: generazione certificato per richiesta.</strong></p>
<p style="text-align:justify;">1) Dobbiamo generare una richiesta di certificato da inviare a Apple (CSR) per fare questo dobbiamo andare nel nostro mac, entrare nella cartella Applicazioni, e poi nella sottocartella Utility, e aprire il programma &#8220;Accesso Portachiavi&#8221; (Keychain Access).</p>
<p style="text-align:justify;">2) Selezioniamo dal Menu : Accesso Portachiavi -&gt; poi Assistente certificato -&gt; e Richiedi un certificato da un autorità di Certificazione.</p>
<div id="attachment_542" class="wp-caption aligncenter" style="width: 310px"><a href="http://iphoneandgo.files.wordpress.com/2008/09/portal3.png"><img class="size-medium wp-image-542" title="Accesso chiavi" src="http://iphoneandgo.files.wordpress.com/2008/09/portal3.png?w=300&#038;h=140" alt="Accesso chiavi" width="300" height="140" /></a><p class="wp-caption-text">Accesso chiavi</p></div>
<p>3) Nella finestra che apparirà :</p>
<div id="attachment_544" class="wp-caption aligncenter" style="width: 310px"><a href="http://iphoneandgo.files.wordpress.com/2008/09/portal4.png"><img class="size-medium wp-image-544" title="Accesso chiavi" src="http://iphoneandgo.files.wordpress.com/2008/09/portal4.png?w=300&#038;h=213" alt="Accesso chiavi 2" width="300" height="213" /></a><p class="wp-caption-text">Accesso chiavi 2</p></div>
<p style="text-align:justify;">indicare una proprio email corretta, indicare il proprio nome completo possibilmente (serve poi per i certificati), lasciare libero il campo : email CA, spuntiamo &#8220;registra certificato su disco&#8221; e &#8220;lascia che sia io a specificare le informazioni coppia di chiave.</p>
<p style="text-align:justify;">Una volta fatto questo premere &#8220;continua&#8221;, ci verrà chiesto dove salvare il file. Noi sceglieremo al momento la scrivania del nostro mac. Nella finestra successiva dedicata al tipo di compressione lasciamo impostati i valori a 2048 bit e algoritmo RSA.</p>
<p style="text-align:justify;">Il certificato CSR si è cosi creato sul nostro computer con il nome di &#8220;CertificateSigningRequest.certSigningRequest&#8221;.</p>
<p style="text-align:justify;"><strong>Seconda fase: invia certificato per generazione certificato approvato.</strong></p>
<p style="text-align:justify;">A questo punto ritorniamo sul nostro Program Portal Apple. Posizioniamoci su &#8220;certificates&#8221; -&gt; &#8220;development&#8221; e selezioniamo &#8220;add Certificate&#8221;</p>
<p style="text-align:justify;">Da questo procedura scegliamo il pulsante &#8220;sfoglia&#8221; per selezionare il certificato appena creato nella nostro mac e premiamo il pulsante Submit. (una email di conferma da parte del Team Admins ci notificherà delle richieste di certificato e approvazioni).</p>
<p style="text-align:justify;">A questo punto (provando a fare anche un refresh della pagina) dovrebbe apparira sempre nella sezione &#8220;certificates&#8221; -&gt; &#8220;development&#8221; il nostro certificato e nella sezione Actions -&gt; Approve / reject.</p>
<p style="text-align:justify;">Selezioniamo Approve.</p>
<p style="text-align:justify;">Ora riproviamo a fare un refresh della pagina o a cambiare tra i tab per poi ritornare su &#8220;certificates&#8221; -&gt; &#8220;develompment&#8221; e sempre nella sezioni Actions ora dovremmo trovare download per poter scaricare finalmente in certificato approvato e lo salveremo sempre sulla nostra scrivania.</p>
<div id="attachment_547" class="wp-caption aligncenter" style="width: 310px"><a href="http://iphoneandgo.files.wordpress.com/2008/09/portal5.png"><img class="size-medium wp-image-547" title="Certificate download" src="http://iphoneandgo.files.wordpress.com/2008/09/portal5.png?w=300&#038;h=210" alt="Certificate download" width="300" height="210" /></a><p class="wp-caption-text">Certificate download</p></div>
<p style="text-align:justify;">Una volta scaricato il file : developer_identity.cer clicchiamoci due volte sopra e si aprirà il nostro programma Accesso chiavi che memorizzera questo certificato.</p>
<p style="text-align:justify;"><strong>Terza fase: aggiungiamo il nostro device iphone al sistema per essere riconosciuto.</strong></p>
<p style="text-align:justify;">Entriamo nel menu &#8220;devices&#8221; e selezioniamo &#8220;Add device&#8221; (aggiungi). A questo punto ci viene richiesto un nome (Device Name) e il suo numero ID esadecimale da 40 caratteri. Per trovare queste informazioni (con l&#8217;iphone collegato) andiamo su XCode -&gt; selezioniamo Window e o poi Organizer e da qui copiamo i valori e li scriviamo all&#8217;interno dei campi e confermiamo con Submit.</p>
<div id="attachment_550" class="wp-caption aligncenter" style="width: 310px"><a href="http://iphoneandgo.files.wordpress.com/2008/09/portal6.png"><img class="size-medium wp-image-550" title="Device" src="http://iphoneandgo.files.wordpress.com/2008/09/portal6.png?w=300&#038;h=219" alt="Device" width="300" height="219" /></a><p class="wp-caption-text">Device</p></div>
<p><strong>Quarta fase: aggiungere un ID alle nostre applicazioni</strong></p>
<p style="text-align:justify;">Ora dobbiamo aggiungere un ID alle nostre applicazioni. Prenderemo il caso più semplice che attribuiremo a tutte le nostre applicazioni lo stesso ID. Entriamo in APP ID e selezioniamo Add ID. Da questa finestra inseriamo nel campo &#8220;App ID Name&#8221; la voce ad esempio &#8220;myapplicationSuiteID&#8221; e nel campo App ID inseriamo un &#8220;*&#8221; asterisco ad indicare tutti e premiamo Submit.</p>
<p style="text-align:justify;"><strong>Quinta fase: Creare un profilo</strong></p>
<p style="text-align:justify;">Sempre dal Program Portal ora selezioniamo la nostra penultima voce (abbiamo quasi finito) : Provisioning. Da qui selezioniamo il pulsante &#8220;Add profile&#8221;. Dobbiamo indicare un &#8220;profile name&#8221; tipo : &#8220;mydevelompentprofile&#8221;, Selezionare i certificates che useremo, selezionare in &#8220;app ID&#8221; la nostra suite generata precedentemente ID e selezionare il &#8220;devices&#8221;.</p>
<div id="attachment_554" class="wp-caption aligncenter" style="width: 310px"><a href="http://iphoneandgo.files.wordpress.com/2008/09/portal7.png"><img class="size-medium wp-image-554" title="Provisioning" src="http://iphoneandgo.files.wordpress.com/2008/09/portal7.png?w=300&#038;h=209" alt="Provisioning Profile" width="300" height="209" /></a><p class="wp-caption-text">Provisioning Profile</p></div>
<p style="text-align:justify;">A questo punto tornati nella sezione &#8220;provisioning&#8221; -&gt; &#8220;Development&#8221; dovremmo vedere il nostro profilo creato e (aggiornando la pagina eventualmente) sotto la sezioni Actions la possibilità di fare il Download. Salviamo quindi il file sempre nella nostra scrivania mac. Questo file generato dobbiamo trascinarlo per assegnarlo all Xcode. Quindi fancendo un drag and drop (selezionandolo e trascinandolo) lo portiamo sopra l&#8217;icona di Xcode che si trova sulla dashboard del nostro mac. Ora chiudiamo e riapriamo Xcode, andiamo su Window e apriamo &#8220;organizer&#8221; dovremmo trovare inserito il nostro profilo come da figura e selezioniamo (se non lo e&#8217; ) la sua casella di selezione.</p>
<div id="attachment_557" class="wp-caption aligncenter" style="width: 310px"><a href="http://iphoneandgo.files.wordpress.com/2008/09/portal8.png"><img class="size-medium wp-image-557" title="Provisioning Profile" src="http://iphoneandgo.files.wordpress.com/2008/09/portal8.png?w=300&#038;h=219" alt="Provisioning Profile" width="300" height="219" /></a><p class="wp-caption-text">Provisioning Profile</p></div>
<p style="text-align:justify;">Abbiamo terminato ora possiamo aprire un nostro progetto selezionare il dispositivo d&#8217;uscita &#8220;device&#8221; al posto di &#8220;simulator&#8221; e fare un &#8220;build and go&#8221; della nostra applicazione.</p>
<p style="text-align:justify;">Attenzione perchè se non si e&#8217; abituati si dovranno aspettare dei secondi in più rispetto al simulatore perchè il trasfermento e&#8217; piu&#8217; lento ma piu&#8217; soddisfacente&#8230;.</p>
<p style="text-align:justify;"><a title="Lezione 3" href="http://iphoneandgo.wordpress.com/2008/08/29/usiamo-le-view-con-il-controllo-tab-bar-controller-dellinterface-builder-per-iphone-guida-pratica-n3/" target="_self">Articolo precedente</a> dell&#8217;argomento.</p>
<p style="text-align:justify;"><a title="Lezione 5" href="http://iphoneandgo.wordpress.com/2008/09/12/tutorial-iphone-sulla-visualizzazione-in-dettaglio-da-menu-drill-down-pratica-n5/" target="_self">Articolo successivo</a> dell&#8217;argomento.</p>
<pre style="text-align:justify;">iPhoneandGo - Stefano Lo Duca - loduca_ve@yahoo.it</pre>
<p style="text-align:justify;">
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/iphoneandgo.wordpress.com/526/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/iphoneandgo.wordpress.com/526/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/iphoneandgo.wordpress.com/526/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/iphoneandgo.wordpress.com/526/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/iphoneandgo.wordpress.com/526/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/iphoneandgo.wordpress.com/526/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/iphoneandgo.wordpress.com/526/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/iphoneandgo.wordpress.com/526/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/iphoneandgo.wordpress.com/526/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/iphoneandgo.wordpress.com/526/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/iphoneandgo.wordpress.com/526/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/iphoneandgo.wordpress.com/526/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iphoneandgo.wordpress.com&blog=4499895&post=526&subd=iphoneandgo&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://iphoneandgo.wordpress.com/2008/09/04/installare-e-vedere-la-nostra-applicazione-sulliphone-non-solo-sul-simulatore-pratica-n4/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1cd97a8d425a22fb96043284bf5bc082?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">lodux</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/09/pra05_09.png" medium="image">
			<media:title type="html">Pratica iPhone</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/09/portal_1.jpg?w=300" medium="image">
			<media:title type="html">Apple Portal</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/09/portal2.png?w=300" medium="image">
			<media:title type="html">Program Portal</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/09/portal3.png?w=300" medium="image">
			<media:title type="html">Accesso chiavi</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/09/portal4.png?w=300" medium="image">
			<media:title type="html">Accesso chiavi</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/09/portal5.png?w=300" medium="image">
			<media:title type="html">Certificate download</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/09/portal6.png?w=300" medium="image">
			<media:title type="html">Device</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/09/portal7.png?w=300" medium="image">
			<media:title type="html">Provisioning</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/09/portal8.png?w=300" medium="image">
			<media:title type="html">Provisioning Profile</media:title>
		</media:content>
	</item>
		<item>
		<title>Usiamo le view con il controllo Tab Bar Controller dell&#8217;interface Builder per iphone: Guida Pratica [n.3]</title>
		<link>http://iphoneandgo.wordpress.com/2008/08/29/usiamo-le-view-con-il-controllo-tab-bar-controller-dellinterface-builder-per-iphone-guida-pratica-n3/</link>
		<comments>http://iphoneandgo.wordpress.com/2008/08/29/usiamo-le-view-con-il-controllo-tab-bar-controller-dellinterface-builder-per-iphone-guida-pratica-n3/#comments</comments>
		<pubDate>Fri, 29 Aug 2008 21:36:30 +0000</pubDate>
		<dc:creator>stefanoloduca</dc:creator>
				<category><![CDATA[Tutorial pratici software iPhone]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[interface builder]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[simulator iphone]]></category>
		<category><![CDATA[source code iphone]]></category>
		<category><![CDATA[tab bar]]></category>
		<category><![CDATA[view]]></category>

		<guid isPermaLink="false">http://iphoneandgo.wordpress.com/?p=353</guid>
		<description><![CDATA[Questa è la nostra 3a prova pratica, nello sviluppo di un&#8217;applicazione per il nostro iphone. Ho deciso di fare un passo indietro rispetto alla prova pratica n.2 perchè ci sono molte cose ancora da vedere passo passo per prendere una completa familiarità degli aspetti visuali di gestione del Xcode e dell&#8217;interface builder (come del resto [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iphoneandgo.wordpress.com&blog=4499895&post=353&subd=iphoneandgo&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><div id="attachment_411" class="wp-caption alignleft" style="width: 74px"><a href="http://iphoneandgo.files.wordpress.com/2008/08/pra29_08.png"><img class="size-full wp-image-411" src="http://iphoneandgo.files.wordpress.com/2008/08/pra29_08.png?w=64&#038;h=75" alt="Pratica" width="64" height="75" /></a><p class="wp-caption-text">Pratica</p></div>
<p style="text-align:justify;">Questa è la nostra 3a prova pratica, nello sviluppo di un&#8217;applicazione per il nostro iphone. Ho deciso di fare un passo indietro rispetto alla <a title="pratica 2" href="http://iphoneandgo.wordpress.com/2008/08/24/festival-di-venezia-2008-con-un-feed-rss-per-iphone-guida-pratica-n2/" target="_self">prova pratica n.2</a> perchè ci sono molte cose ancora da vedere passo passo per prendere una completa familiarità degli aspetti visuali di gestione del <a title="didascalia Xcode" href="http://iphoneandgo.wordpress.com/didascalie-e-spiegazioni/" target="_self">Xcode</a> e dell&#8217;<a title="didascalia builder" href="http://iphoneandgo.wordpress.com/didascalie-e-spiegazioni/" target="_self">interface builder</a> (come del resto alcuni di voi mi ha gentilmente fatto notare).<span id="more-353"></span></p>
<p style="text-align:justify;">Cominciamo quindi in nostro nuovo progetto dedicato alle View e alla loro gestione. Nel corso teorico numero 4 abbiamo visto come esista una window principale e al suo interno le diverse view. Facciamo un esempio : il programma nativo orologio ha 4 view : 1 view per le diverse ore nei diversi paesi, una view per settare l&#8217;allarme, una view per il cronometro e un view per il timer.</p>
<p style="text-align:justify;">Cominciamo caricando Xcode &#8211;&gt; poi File &#8211;&gt; new project &#8211;&gt; scegliamo dal nostro <a title="didascalia iphone os" href="http://iphoneandgo.wordpress.com/didascalie-e-spiegazioni/" target="_self">iphone OS </a>la voce &#8220;Windows based application&#8221; &#8211;&gt; e scegliamo il nome file &#8220;multiview&#8221;.</p>
<div id="attachment_126" class="wp-caption aligncenter" style="width: 310px"><a href="http://iphoneandgo.files.wordpress.com/2008/08/hello1.gif"><img class="size-medium wp-image-126" src="http://iphoneandgo.files.wordpress.com/2008/08/hello1.gif?w=300&#038;h=249" alt="View Based Application " width="300" height="249" /></a><p class="wp-caption-text">View Based Application </p></div>
<p style="text-align:justify;">Ora dobbiamo aprire il nostro interface builder necessario per inserire i diversi componenti necessari alla nostra applicazione. Il file che gestisce l&#8217;interfaccia nel builder è Mainwindow.xib che si trova dentro la cartella &#8220;resources&#8221; dell&#8217; Xcode.. Clicchiamoci sopra due volte e apparirà il nostro interface builder. Da qui dobbiamo trovarci di fronte alla finestra &#8220;mainwindow.xib&#8221; , alla finestra &#8220;library&#8221; e alla finestra &#8220;attributes&#8221;</p>
<p style="text-align:justify;">Ora trasciniamo (drag and drop) l&#8217;icona del componente &#8220;tab bar controller&#8221; (non confondersi con il singolo componente &#8220;tab Bar&#8221;) all&#8217;interno della finestra &#8220;library&#8221; e portiamolo dentro la finestra &#8220;mainwindow.xib&#8221;: cosi facendo dovrebbe apparire una nuova finestra della nostra applicazione con un tab bar controller a 2 pulsanti.</p>
<div id="attachment_375" class="wp-caption aligncenter" style="width: 231px"><a href="http://iphoneandgo.files.wordpress.com/2008/08/pratica4_2.png"><img class="size-full wp-image-375" src="http://iphoneandgo.files.wordpress.com/2008/08/pratica4_2.png?w=221&#038;h=345" alt="Tab bar iphone" width="221" height="345" /></a><p class="wp-caption-text">Tab bar iphone</p></div>
<p style="text-align:justify;">A questo punto abbiamo due pulsanti all&#8217;interno del nostro applicativo per aprire due view. Noi vogliamo aggiungere un altro pulsante. Per fare ciò clicchiamo sulla tab bar control all&#8217;interno della finestra della nostra applicazione e cercando di aiutarvi con il tasto eventualmente TAB per scorrere ogni componente anche quelli non visibili (non selezionabili direttamente da mouse) vi fermate finche&#8217; la finestra degli attributi non indicherà &#8220;Tab bar controller Attributes&#8221; come da figura :</p>
<div id="attachment_373" class="wp-caption aligncenter" style="width: 290px"><a href="http://iphoneandgo.files.wordpress.com/2008/08/pratica4_1.png"><img class="size-full wp-image-373" src="http://iphoneandgo.files.wordpress.com/2008/08/pratica4_1.png?w=280&#038;h=609" alt="Attributes" width="280" height="609" /></a><p class="wp-caption-text">Attributes</p></div>
<p style="text-align:justify;">selezioniamo il simbolo &#8220;+&#8221; e si aggiungerà cosi un nuovo pulsante.</p>
<p style="text-align:justify;">I nostri pulsanti come vedete sono già predisposti con un titolo e un immagine. Premendo due volte su un pulsante nella pagina attributi potremmo gestire e cambiare sia il titolo che l&#8217;immagine. Per l&#8217;immagine dovete aver precaricato una immagine all&#8217;interno del nostro progetto altrimenti non avremo nessuna scelta. per fare ciò seguiamo i seguenti passi : Torniamo un attimo nel nostro Xcode, da qui andiamo alla voce &#8220;project&#8221; e selezioniamo &#8220;Add project&#8221; (se non dovesse essere selezionabile e&#8217; perchè all&#8217;interno della finestra dei file non siete posizionati sopra una risorsa principale come ad esempio &#8220;mainwindow.xib). A questo punto selezioniamo l&#8217;immagine di nostro interesse. Tenete presente che all&#8217;incirca dev&#8217;essere non più grande di 25 x 25 anche se accetta qualsiasi grandezza. (in seguito vedremo come raggruppare e gestire i file come questi di immagine).</p>
<p style="text-align:justify;">Ora torniamo nel nostro interface builder ripremiamo due volte sopra il pulsante e tra gli attributi vediamo che possiamo aggiungere la foto inserita nel progetto. Diamogli il primo titolo &#8220;pulsante 1&#8243;.. Ora a piacere potete fare lo stesso intanto anche con gli altri pulsanti.</p>
<p style="text-align:justify;">A questo punto abbiamo i pulsanti ma non abbiamo le view.. Per fare clicchiamo due volte sul pulsante al quale vogliamo aggiungere la nostra view poi dalla finestra &#8220;library&#8221; selezioniamo &#8220;view&#8221; e la trasciniamo sopra la finestra applicazione. Ripetiamo questo passaggio per ogni pulsante.</p>
<p style="text-align:justify;">Ad ogni finestra ora gli applicheremo una Label per distunguerla dalle altre. Clicchiamo sul primo pulsante e poi dalla finestra &#8220;library&#8221; trasciniamo all&#8217;interno della view il componente &#8220;label&#8221;. Premendoci sopra due volte potremo rinominarlo in &#8220;Pagina 1&#8243;. Ripetiamo questo passaggio per tutti e 3 i pulsanti.</p>
<div id="attachment_377" class="wp-caption aligncenter" style="width: 281px"><a href="http://iphoneandgo.files.wordpress.com/2008/08/pratica4_3.png"><img class="size-full wp-image-377" src="http://iphoneandgo.files.wordpress.com/2008/08/pratica4_3.png?w=271&#038;h=419" alt="Tab bar view" width="271" height="419" /></a><p class="wp-caption-text">Tab bar view</p></div>
<p style="text-align:justify;">Ora andiamo su File &#8211;&gt; e Save per salvare il progetto. Posizioniamoci sul XCode e proviamo a lanciare la nostra applicazione con &#8220;Build and go&#8221;. Se tutto va bene dovremmo trovarci di fronte ad una finestra completamente nera. Tutto corretto dobbiamo ancora legare l&#8217;interfaccia alla nostra finestra.</p>
<p style="text-align:justify;">Ritorniamo ora all Xcode perchè dobbiamo aggiungere alcune righe di codice. Apriamo il file &#8220;multiviewApplDelegate.h&#8221; aggiungiamo le due righe mancanti :</p>
<p style="text-align:justify;">#import &lt;UIKit/UIKit.h&gt;</p>
<p>@class multiviewViewController;</p>
<p>@interface multiviewAppDelegate : NSObject &lt;UIApplicationDelegate&gt; {<br />
IBOutlet UIWindow *window;<br />
<span style="color:#ff0000;"> IBOutlet UITabBarController *tabBarController;</span><br />
}</p>
<p>@property (nonatomic, retain) UIWindow *window;<br />
<span style="color:#ff0000;">@property (nonatomic, retain) IBOutlet UITabBarController *tabBarController;</span></p>
<p>@end</p>
<p>Ora invece dall&#8217;Xcode apriamo la sua implementazione &#8220;multiviewAppDelegate.m&#8221; e riportiamo le seguenti righe da sostiuire:</p>
<p>#import &#8220;multiviewAppDelegate.h&#8221;</p>
<p>@implementation multiviewAppDelegate</p>
<p><span style="color:#ff0000;">@synthesize window, tabBarController;</span></p>
<p>- (void)applicationDidFinishLaunching:(UIApplication *)application {</p>
<p><span style="color:#ff0000;"> //Add the tab bar controller as a sub view to the window.<br />
[window addSubview:[tabBarController view]];</span><br />
// Override point for customization after app launch<br />
[window makeKeyAndVisible];<br />
}</p>
<p>- (void)dealloc {<br />
<span style="color:#ff0000;"> [tabBarController release];</span><br />
[window release];<br />
[super dealloc];<br />
}</p>
<p>@end</p>
<p style="text-align:justify;">Ora dobbiamo tornare all&#8217;interface builder per fare i collegamenti ma prima di fare ciò complilate il codice per rendere effettive le variazioni e farle vedere anche all&#8217;interface builder: premente &#8220;build and go&#8221;. Ora chiudete il simulatore e tornate su interface builder. Dalla finestra &#8220;mainwindow.xib&#8221; selezionate &#8220;Multiview app delegate&#8221; nella finestra degli attributi spostatevi al pulsante &#8220;connections&#8221;.</p>
<div id="attachment_380" class="wp-caption aligncenter" style="width: 307px"><a href="http://iphoneandgo.files.wordpress.com/2008/08/prova4_5.png"><img class="size-full wp-image-380" src="http://iphoneandgo.files.wordpress.com/2008/08/prova4_5.png?w=297&#038;h=201" alt="Attributes" width="297" height="201" /></a><p class="wp-caption-text">Attributes</p></div>
<p style="text-align:justify;">Ora prendiamo il punto tondo della variabile &#8220;tabBarConnection&#8221; e trasciniamolo fino alla nostra finestra dell&#8217;applicazione al Tab Bar Control. Il gioco e&#8217; fatto&#8230; proviamo con &#8220;build and go&#8221; a vedere se funziona la navigazione tra le finestre con i pulsanti &#8230;. bene.</p>
<div id="attachment_378" class="wp-caption aligncenter" style="width: 285px"><a href="http://iphoneandgo.files.wordpress.com/2008/08/pratica4_4.png"><img class="size-full wp-image-378" src="http://iphoneandgo.files.wordpress.com/2008/08/pratica4_4.png?w=275&#038;h=523" alt="Simulator iphone" width="275" height="523" /></a><p class="wp-caption-text">Simulator iphone</p></div>
<p>Potete scaricare il progetto con tutti i file sorgente (source code iphone) dal seguente<a title="multiview source code" href="http://www.iphoneandgo.org/download/multiview.zip" target="_blank"> link.</a></p>
<p><a title="pratica 2" href="http://iphoneandgo.wordpress.com/2008/08/24/festival-di-venezia-2008-con-un-feed-rss-per-iphone-guida-pratica-n2/" target="_self">Articoli precedenti</a> dell&#8217;argomento.</p>
<p><a title="Lezione 4" href="http://iphoneandgo.wordpress.com/2008/09/04/installare-e-vedere-la-nostra-applicazione-sulliphone-non-solo-sul-simulatore-pratica-n4/" target="_self">Articoli successivi</a> dell&#8217;argomento.</p>
<pre>iPhoneAndGo - Stefano Lo Duca - loduca_ve@yahoo.it</pre>
<p style="text-align:justify;">
<p style="text-align:justify;">
<p style="text-align:justify;">
<p style="text-align:justify;">
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/iphoneandgo.wordpress.com/353/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/iphoneandgo.wordpress.com/353/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/iphoneandgo.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/iphoneandgo.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/iphoneandgo.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/iphoneandgo.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/iphoneandgo.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/iphoneandgo.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/iphoneandgo.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/iphoneandgo.wordpress.com/353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/iphoneandgo.wordpress.com/353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/iphoneandgo.wordpress.com/353/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iphoneandgo.wordpress.com&blog=4499895&post=353&subd=iphoneandgo&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://iphoneandgo.wordpress.com/2008/08/29/usiamo-le-view-con-il-controllo-tab-bar-controller-dellinterface-builder-per-iphone-guida-pratica-n3/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1cd97a8d425a22fb96043284bf5bc082?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">lodux</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/08/pra29_08.png" medium="image">
			<media:title type="html">Pratica</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/08/hello1.gif?w=300" medium="image">
			<media:title type="html">View Based Application </media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/08/pratica4_2.png" medium="image">
			<media:title type="html">Tab bar iphone</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/08/pratica4_1.png" medium="image">
			<media:title type="html">Attributes</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/08/pratica4_3.png" medium="image">
			<media:title type="html">Tab bar view</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/08/prova4_5.png" medium="image">
			<media:title type="html">Attributes</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/08/pratica4_4.png" medium="image">
			<media:title type="html">Simulator iphone</media:title>
		</media:content>
	</item>
		<item>
		<title>Festival di Venezia 2008 con un feed RSS per iPhone : Guida Pratica [n.2]</title>
		<link>http://iphoneandgo.wordpress.com/2008/08/24/festival-di-venezia-2008-con-un-feed-rss-per-iphone-guida-pratica-n2/</link>
		<comments>http://iphoneandgo.wordpress.com/2008/08/24/festival-di-venezia-2008-con-un-feed-rss-per-iphone-guida-pratica-n2/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 22:00:16 +0000</pubDate>
		<dc:creator>stefanoloduca</dc:creator>
				<category><![CDATA[Tutorial pratici software iPhone]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Rss]]></category>
		<category><![CDATA[simulator iphone]]></category>
		<category><![CDATA[source code iphone]]></category>

		<guid isPermaLink="false">http://iphoneandgo.wordpress.com/?p=257</guid>
		<description><![CDATA[Immagino che già vi starete chiedendo cosa c&#8217;entra la 65a Mostra Internazionale d&#8217;arte Cinematografica di Venezia 2008 con l&#8217; Iphone e una guida pratica come questa ?. Semplice : imparare a sviluppare software per Iphone vuol dire soprattutto dargli vita, renderlo utile, speciale per le nostre esigenze e quelle di miglioni di possessori.
Andremo a sviluppare [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iphoneandgo.wordpress.com&blog=4499895&post=257&subd=iphoneandgo&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><div id="attachment_413" class="wp-caption alignleft" style="width: 74px"><a href="http://iphoneandgo.files.wordpress.com/2008/08/pra24_08.png"><img class="size-full wp-image-413" src="http://iphoneandgo.files.wordpress.com/2008/08/pra24_08.png?w=64&#038;h=75" alt="Pratica" width="64" height="75" /></a><p class="wp-caption-text">Pratica</p></div>
<p style="text-align:justify;">Immagino che già vi starete chiedendo cosa c&#8217;entra la 65a Mostra Internazionale d&#8217;arte Cinematografica di Venezia 2008 con l&#8217; Iphone e una guida pratica come questa ?. Semplice : imparare a sviluppare software per Iphone vuol dire soprattutto dargli vita, renderlo utile, speciale per le nostre esigenze e quelle di miglioni di possessori.</p>
<p style="text-align:justify;">Andremo a sviluppare un programma di <a title="didascalia feed RSS" href="http://iphoneandgo.wordpress.com/didascalie-e-spiegazioni/" target="_self">feed RSS</a> per Iphone, abbastanza semplice nel suo genere ma allo stesso tempo complesso per essere solo alla seconda guida pratica (anche per me). Ho fatto questa scelta perchè volevo unire l&#8217;utile al dilettevole. Dobbiamo imparare ma allora perchè non farlo anche divertendoci&#8230;<span id="more-257"></span></p>
<p style="text-align:justify;">Cosi vivendo per dieci giorni nella capitale mondiale del Cinema (Lido di Venezia) ho pensato quanto interessante sarebbe per i possessori di un Iphone ricevere in tempo reale delle news su attori, gossip, foto, e il programma giornaliero dei film che verranno proiettati nelle diverse sale ?.</p>
<p style="text-align:justify;">Cominciamo subito quindi la parte di sviluppo. Il software che verrà generato non farà altro che una chiamata ad un servizio RSS (in questo caso al mio sito iphoneandgo.wordpress.com) che popolerà una lista con i titoli degli articoli pubblicati e permetterà all&#8217;utente di sceglierli facendo partire il navigatori Safari che caricherà la pagina corrispondente all&#8217;articolo.</p>
<p style="text-align:justify;">Carichiamo il nostro Xcode e dal manu File scegliamo -&gt; new project.</p>
<p style="text-align:justify;">Clicchiamo su Application sotto Iphone Os e scegliamo l&#8217;icona -&gt; &#8220;Navigation-Based application&#8221;</p>
<p style="text-align:justify;">Scegliamo la directory o creiamone una dove posizionare il nostro progetto e diamogli il nome &#8220;RSSIphoneAndGo&#8221;.</p>
<div id="attachment_261" class="wp-caption aligncenter" style="width: 310px"><a href="http://iphoneandgo.files.wordpress.com/2008/08/rss1.png"><img class="size-medium wp-image-261" src="http://iphoneandgo.files.wordpress.com/2008/08/rss1.png?w=300&#038;h=250" alt="Xcode Rss" width="300" height="250" /></a><p class="wp-caption-text">Xcode Rss</p></div>
<p style="text-align:justify;">Xcode ha inserito già in alcuni file delle istruzioni diverse da una applicazione &#8220;view based application&#8221;. Se proviamo a compilarlo con &#8220;build and Go&#8221; apparirà il simulatore con il nostro Iphone con finestra vuota.</p>
<p style="text-align:justify;">Come prima cosa allora adesso andremo ad inserire il Titolo della nostra applicazione, quello insomma che apparirà nella Top view non appena lanceremo il programma. Portiamoci sopra il file &#8220;MainWindow.xib&#8221; e apriamolo cliccandoci 2 volte sopra velocemente.</p>
<p style="text-align:justify;">Si aprirà in nostro Interface Builder, posizioniamoci sopra la Top View azzurra e clicchiamoci sopra due volte ed inseriamo il Titolo : &#8220;Iphone And Go RSS&#8221;.</p>
<div id="attachment_265" class="wp-caption aligncenter" style="width: 340px"><a href="http://iphoneandgo.files.wordpress.com/2008/08/rss2.png"><img class="size-full wp-image-265" src="http://iphoneandgo.files.wordpress.com/2008/08/rss2.png?w=330&#038;h=512" alt="Interface Builder RSS" width="330" height="512" /></a><p class="wp-caption-text">Interface Builder RSS</p></div>
<p>Andiamo su File e premiamo Save dopodichè usciamo da Interface Builder.</p>
<p style="text-align:justify;">Ritorniamo ora nel nostro Xcode e clicchiamo due volte sul file &#8220;RootViewControoler.h&#8221; e aggiungiamo il codice che segue:</p>
<h5>@interface RootViewController : UITableViewController {IBOutlet UITableView * newsTable;UIActivityIndicatorView * activityIndicator;</p>
<p>CGSize cellSize;</p>
<p>NSXMLParser * rssParser;</p>
<p>NSMutableArray * stories;</p>
<p>// a temporary item; added to the &#8220;stories&#8221; array one at a time, and cleared for the next one<br />
NSMutableDictionary * item;</p>
<p>// it parses through the document, from top to bottom&#8230;<br />
// we collect and cache each sub-element value, and then save each item to our array.<br />
// we use these to track each current item, until it&#8217;s ready to be added to the &#8220;stories&#8221; array<br />
NSString * currentElement;<br />
NSMutableString * currentTitle, * currentDate, * currentSummary, * currentLink;</h5>
<p>}</p>
<p style="text-align:justify;">Apro una parentesi: per il codice che andremo a scrivere non sono riuscito a fare le traduzioni delle didascalie lasciandole in inglese e nemmeno a spiegare ogni singola linea che andremo ad inserire (cosa che faremo più avanti).</p>
<p style="text-align:justify;">Salviamo il file modificato e da Xcode ora apriamo il file &#8220;RootViewControler.m&#8221;. Questo file come vedete e vedrete e&#8217; il cuore del nostro programma. dove verranno passate le informazioni da mostrare nella finestra, e cosa fare in varie situazioni come cliccare un articolo o chiudere il programma.</p>
<p style="text-align:justify;">Cambiamo questa riga di codice nel modo seguente :</p>
<h5>- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {<br />
return [stories count];</h5>
<p>abbiamo sostituito lo 0 con [stories count]</p>
<p>In questa dichiarazione noi spieghiamo di volere un array NSMuutableArray (che è un collezione di oggetti modificabili) che chiameremo &#8220;stories&#8221;. In nostro RSS popolerà le righe con gli articoli tanti quanti ne potrà mettendoli nell&#8217;array. Questo metodo dirà alla Tabella queste sono le righe che noi abbiamo bisogno. una per ogni articolo nell&#8217;array.</p>
<p>Ora modifichiamo il codice come segue :</p>
<h5>- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {static NSString *MyIdentifier = @&#8221;MyIdentifier&#8221;;</p>
<p>UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];<br />
if (cell == nil) {<br />
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:MyIdentifier] autorelease];<br />
}</p>
<p>// Set up the cell<br />
int storyIndex = [indexPath indexAtPosition: [indexPath    length] -1];<br />
[cell setText:[[stories objectAtIndex: storyIndex] objectForKey: @&#8221;title&#8221;]];</p>
<p>return cell;<br />
}</h5>
<p style="text-align:justify;">Come possiamo vedere usiamo &#8220;setText:&#8221; metodo per dire alle celle quale sarà il loro contenuto. Ogni riga nella nostra tabella e&#8217; un cella e le sue proprietà sono gestite in questo metodo.</p>
<p style="text-align:justify;">Ora cambiamo il metodo &#8220;viewDidAppear:&#8221; come segue :</p>
<h5>- (void)viewWillAppear:(BOOL)animated {<br />
[super viewWillAppear:animated];<br />
}- (void)viewDidAppear:(BOOL)animated {<br />
[super viewDidAppear:animated];</p>
<p>if ([stories count] == 0) {<br />
NSString * path = @&#8221;http://iphoneandgo.wordpress.com/feed&#8221;;<br />
[self parseXMLFileAtURL:path];<br />
}<br />
cellSize = CGSizeMake([newsTable bounds].size.width, 60);</p>
<p>}</h5>
<p style="text-align:justify;">con questo metodo diciamo al nostro parser quale feed scaricare.</p>
<p style="text-align:justify;">Ora inseriamo questo codice :</p>
<h5>- (void)parseXMLFileAtURL:(NSString *)URL {<br />
stories = [[NSMutableArray alloc] init];//you must then convert the path to a proper NSURL or it won&#8217;t work<br />
NSURL *xmlURL = [NSURL URLWithString:URL];</p>
<p>// here, for some reason you have to use NSClassFromString when trying to alloc NSXMLParser, otherwise you will get an object not found error<br />
// this may be necessary only for the toolchain<br />
rssParser = [[NSXMLParser alloc] initWithContentsOfURL:xmlURL];</p>
<p>// Set self as the delegate of the parser so that it will receive the parser delegate methods callbacks.<br />
[rssParser setDelegate:self];</p>
<p>// Depending on the XML document you&#8217;re parsing, you may want to enable these features of NSXMLParser.<br />
[rssParser setShouldProcessNamespaces:NO];<br />
[rssParser setShouldReportNamespacePrefixes:NO];<br />
[rssParser setShouldResolveExternalEntities:NO];</p>
<p>[rssParser parse]</p>
<p>}</h5>
<p>Questo è il metodo che aggiungiamo che crea un array vuoto per le stories, crea un parser, e comincia a scaricare le notizie. Mentre il parser fa il suo lavoro, il controller riceverà e gestirà diversi &#8220;delegate&#8221; metodi con il codice qui riportato da inserire :</p>
<h5>- (void)parserDidStartDocument:(NSXMLParser *)parser {<br />
NSLog(@&#8221;found file and started parsing&#8221;);<br />
}- (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError {<br />
NSString * errorString = [NSString stringWithFormat:@"Unable to download story feed from web site (Error code %i )", [parseError code]];<br />
NSLog(@&#8221;error parsing XML: %@&#8221;, errorString);</p>
<p>UIAlertView * errorAlert = [[UIAlertView alloc] initWithTitle:@&#8221;Error loading content&#8221; message:errorString delegate:self cancelButtonTitle:@&#8221;OK&#8221; otherButtonTitles:nil];<br />
[errorAlert show];<br />
}</p>
<p>- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{<br />
//NSLog(@&#8221;found this element: %@&#8221;, elementName);<br />
currentElement = [elementName copy];</p>
<p>if ([elementName isEqualToString:@"item"]) {<br />
// clear out our story item caches&#8230;<br />
item = [[NSMutableDictionary alloc] init];<br />
currentTitle = [[NSMutableString alloc] init];<br />
currentDate = [[NSMutableString alloc] init];<br />
currentSummary = [[NSMutableString alloc] init];<br />
currentLink = [[NSMutableString alloc] init];<br />
}<br />
}</p>
<p>- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{</p>
<p>//NSLog(@&#8221;ended element: %@&#8221;, elementName);<br />
if ([elementName isEqualToString:@"item"]) {<br />
// save values to an item, then store that item into the array&#8230;<br />
[item setObject:currentTitle forKey:@"title"];<br />
[item setObject:currentLink forKey:@"link"];<br />
[item setObject:currentSummary forKey:@"summary"];<br />
[item setObject:currentDate forKey:@"date"];</p>
<p>[stories addObject:[item copy]];<br />
NSLog(@&#8221;adding story: %@&#8221;, currentTitle);<br />
}<br />
}</p>
<p>- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{<br />
//NSLog(@&#8221;found characters: %@&#8221;, string);<br />
// save the characters for the current item&#8230;<br />
if ([currentElement isEqualToString:@"title"]) {<br />
[currentTitle appendString:string];<br />
} else if ([currentElement isEqualToString:@"link"]) {<br />
[currentLink appendString:string];<br />
} else if ([currentElement isEqualToString:@"description"]) {<br />
[currentSummary appendString:string];<br />
} else if ([currentElement isEqualToString:@"pubDate"]) {<br />
[currentDate appendString:string];<br />
}<br />
}</p>
<p>- (void)parserDidEndDocument:(NSXMLParser *)parser {</p>
<p>[activityIndicator stopAnimating];<br />
[activityIndicator removeFromSuperview];</p>
<p>NSLog(@&#8221;all done!&#8221;);<br />
NSLog(@&#8221;stories array has %d items&#8221;, [stories count]);<br />
[newsTable reloadData];<br />
}</h5>
<p>Ora non ci resta che disallocare tutta la memoria utilizzata con il seguente metodo da inserire :</p>
<h5>- (void)dealloc {<br />
[currentElement release];<br />
[rssParser release];<br />
[stories release];<br />
[item release];<br />
[currentTitle release];<br />
[currentDate release];<br />
[currentSummary release];<br />
[currentLink release];[super dealloc];<br />
}</h5>
<p style="text-align:justify;">Portiamoci ora nel nostro Xcode e clicchiamo due volte nel file : &#8220;RootViewController.xib&#8221;. Si aprirà cosi il nostro Builder, Posizioniamoci sopra l&#8217;icona di &#8220;file&#8217;s Owner&#8221; e tenendo premuto il tasto &#8220;control&#8221; clicchiamo con il tasto del mouse sinistro e senza rilasciarlo spostiamoci fino a sopra l&#8217;icona &#8220;Table View&#8221;. Rilasciando il pulsante apparirà un menu nero a tendina e tra le tre opzioni scegliere &#8220;newsTable&#8221;. Salviamo il file e usciamo dal Builder.</p>
<div id="attachment_279" class="wp-caption aligncenter" style="width: 325px"><a href="http://iphoneandgo.files.wordpress.com/2008/08/rss3.png"><img class="size-full wp-image-279" src="http://iphoneandgo.files.wordpress.com/2008/08/rss3.png?w=315&#038;h=297" alt="Interface Builder Rss" width="315" height="297" /></a><p class="wp-caption-text">Interface Builder Rss</p></div>
<p style="text-align:justify;">A questo punto possiamo provare la nostra applicazioni. Premiamo dall&#8217; Xcode &#8220;build and go&#8221;. Ricordiamo che tale servizio potrebbe caricarsi non molto velocemente soprattutto se si prova direttamente sull&#8217;Iphone.</p>
<div id="attachment_286" class="wp-caption aligncenter" style="width: 277px"><a href="http://iphoneandgo.files.wordpress.com/2008/08/rss5.png"><img class="size-full wp-image-286" src="http://iphoneandgo.files.wordpress.com/2008/08/rss5.png?w=267&#038;h=508" alt="Simulator Rss" width="267" height="508" /></a><p class="wp-caption-text">Simulator Rss</p></div>
<p style="text-align:justify;">Manca solo un passaggio ora dire al sistema che una volta cliccato su di una voce dell&#8217;articolo, venga caricato Safari che ci porta direttamente alla pagina corrispondente. Aggiungiamo quindi sempre al nostro file &#8220;rootViewController.m&#8221; il seguente codice :</p>
<h5>- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {<br />
// Navigation logicint storyIndex = [indexPath indexAtPosition: [indexPath length] &#8211; 1];</p>
<p>NSString * storyLink = [[stories objectAtIndex: storyIndex] objectForKey: @&#8221;link&#8221;];</p>
<p>// clean up the link &#8211; get rid of spaces, returns, and tabs&#8230;<br />
storyLink = [storyLink stringByReplacingOccurrencesOfString:@" " withString:@""];<br />
storyLink = [storyLink stringByReplacingOccurrencesOfString:@"\n" withString:@""];<br />
storyLink = [storyLink stringByReplacingOccurrencesOfString:@"    " withString:@""];</p>
<p>NSLog(@&#8221;link: %@&#8221;, storyLink);<br />
// open in Safari<br />
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:storyLink]];<br />
}</h5>
<div id="attachment_287" class="wp-caption aligncenter" style="width: 438px"><a href="http://iphoneandgo.files.wordpress.com/2008/08/rss6.png"><img class="size-medium wp-image-287" src="http://iphoneandgo.files.wordpress.com/2008/08/rss6.png?w=428&#038;h=227" alt="Simulator Rss" width="428" height="227" /></a><p class="wp-caption-text">Simulator Rss</p></div>
<p style="text-align:justify;">Spero che l&#8217;articolo sia stato chiaro e abbastanza esaustivo, nei prossimi giorni quindi per tutti gli appassionati non solo dell&#8217;Iphone ma anche della mostra del Cinema di Venezia, cercherò di legare queste due realtà postando articoli attinenti e per entrambi d&#8217;utilizzo.</p>
<p style="text-align:justify;">Potete scaricare i <strong>file sorgenti dell&#8217;esempio</strong> (source code iphone) al seguente <a title="download sorgente Rss" href="http://www.iphoneandgo.org/download/rssiphoneandgo.zip" target="_blank">link</a>.</p>
<p style="text-align:justify;"><a title="lezione pratica 1" href="http://iphoneandgo.wordpress.com/2008/08/20/scrivere-applicazioni-per-iphone-guida-pratica-hello-world-n1/" target="_self">Articolo precedente</a> dell&#8217;argomento.</p>
<p style="text-align:justify;"><a title="Lezione 3" href="http://iphoneandgo.wordpress.com/2008/08/29/usiamo-le-view-con-il-controllo-tab-bar-controller-dellinterface-builder-per-iphone-guida-pratica-n3/" target="_self">Articolo successivo</a> dell&#8217;argomento.</p>
<pre><a title="iphoneandgo" href="www.iphoneandgo.wordpress.com" target="_self">IphoneAndGo</a> - Stefano Lo Duca - loduca_ve@yahoo.it</pre>
<p style="text-align:justify;">
<p style="text-align:justify;">
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/iphoneandgo.wordpress.com/257/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/iphoneandgo.wordpress.com/257/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/iphoneandgo.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/iphoneandgo.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/iphoneandgo.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/iphoneandgo.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/iphoneandgo.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/iphoneandgo.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/iphoneandgo.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/iphoneandgo.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/iphoneandgo.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/iphoneandgo.wordpress.com/257/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iphoneandgo.wordpress.com&blog=4499895&post=257&subd=iphoneandgo&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://iphoneandgo.wordpress.com/2008/08/24/festival-di-venezia-2008-con-un-feed-rss-per-iphone-guida-pratica-n2/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1cd97a8d425a22fb96043284bf5bc082?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">lodux</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/08/pra24_08.png" medium="image">
			<media:title type="html">Pratica</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/08/rss1.png?w=300" medium="image">
			<media:title type="html">Xcode Rss</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/08/rss2.png" medium="image">
			<media:title type="html">Interface Builder RSS</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/08/rss3.png" medium="image">
			<media:title type="html">Interface Builder Rss</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/08/rss5.png" medium="image">
			<media:title type="html">Simulator Rss</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/08/rss6.png?w=300" medium="image">
			<media:title type="html">Simulator Rss</media:title>
		</media:content>
	</item>
		<item>
		<title>Scrivere applicazioni per iPhone. Guida pratica &#8220;Hello world&#8221; [n.1]</title>
		<link>http://iphoneandgo.wordpress.com/2008/08/20/scrivere-applicazioni-per-iphone-guida-pratica-hello-world-n1/</link>
		<comments>http://iphoneandgo.wordpress.com/2008/08/20/scrivere-applicazioni-per-iphone-guida-pratica-hello-world-n1/#comments</comments>
		<pubDate>Wed, 20 Aug 2008 21:55:29 +0000</pubDate>
		<dc:creator>stefanoloduca</dc:creator>
				<category><![CDATA[Tutorial pratici software iPhone]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[hello world]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[simulator iphone]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[source code iphone]]></category>

		<guid isPermaLink="false">http://iphoneandgo.wordpress.com/?p=121</guid>
		<description><![CDATA[Questo è il primo articolo destinato allo sviluppo vero e proprio. Sarà una pratica di esempi di software per l&#8217;Iphone, la vera programmazione. Impareremo (anch&#8217;io) il linguaggio Objective-C, il software di sviluppo SDK, e molti altri strumenti necessari a fare di un nostro sogno un qualcosa di veramente concreto.
Questa sezioni di articoli parte dal presupposto [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iphoneandgo.wordpress.com&blog=4499895&post=121&subd=iphoneandgo&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><div id="attachment_415" class="wp-caption alignleft" style="width: 74px"><a href="http://iphoneandgo.files.wordpress.com/2008/08/pra20_08.png"><img class="size-full wp-image-415" src="http://iphoneandgo.files.wordpress.com/2008/08/pra20_08.png?w=64&#038;h=75" alt="Pratica" width="64" height="75" /></a><p class="wp-caption-text">Pratica</p></div>
<p style="text-align:justify;">Questo è il primo articolo destinato allo sviluppo vero e proprio. Sarà una pratica di esempi di software per l&#8217;Iphone, la vera programmazione. Impareremo (anch&#8217;io) il linguaggio <a title="didascalia objective-c" href="http://iphoneandgo.wordpress.com/didascalie-e-spiegazioni/" target="_self">Objective-C</a>, il software di sviluppo <a title="didascalia SDK" href="http://iphoneandgo.wordpress.com/didascalie-e-spiegazioni/" target="_self">SDK</a>, e molti altri strumenti necessari a fare di un nostro sogno un qualcosa di veramente concreto.</p>
<p style="text-align:justify;">Questa sezioni di articoli parte dal presupposto che o conoscete già i concetti base o li leggiate prima nelle <a title="guida base" href="http://iphoneandgo.wordpress.com/2008/08/19/sviluppare-software-programmi-per-iphone-guida-base-n1/" target="_self">guide base</a> in quanto si darà per scontato molti termini e l&#8217;utilizzo di : un computer MAC con software SDK installato.<span id="more-121"></span></p>
<p style="text-align:justify;">Ho deciso di non cominciare con tutta la teoria e la descrizione dettagliata di ogni singola operazione che andremo a svolgere, ma preferisco iniziare concretizzando subito il primo piccolo ma grande traguardo di poter vedere sul nostro simulatore (o Iphone) il nostro primo programma; il più semplice, il più chiaro, il più classico dei programmi : leggere la scritta &#8220;Hello World !&#8221;.</p>
<div id="attachment_122" class="wp-caption aligncenter" style="width: 310px"><a href="http://iphoneandgo.files.wordpress.com/2008/08/iphone_hello.jpg"><img class="size-medium wp-image-122" src="http://iphoneandgo.files.wordpress.com/2008/08/iphone_hello.jpg?w=300&#038;h=218" alt="Hello World Iphone" width="300" height="218" /></a><p class="wp-caption-text">Hello World Iphone</p></div>
<p><strong>Passo 1</strong>: Senza molti indulgi apriamo l&#8217;applicazione <a title="didascalia XCode" href="http://iphoneandgo.wordpress.com/didascalie-e-spiegazioni/" target="_self">Xcode</a>; da qui portiamoci sul menu File e scegliamo -&gt; New Project e poi -&gt; View Based application.</p>
<div id="attachment_126" class="wp-caption aligncenter" style="width: 310px"><a href="http://iphoneandgo.files.wordpress.com/2008/08/hello1.gif"><img class="size-medium wp-image-126" src="http://iphoneandgo.files.wordpress.com/2008/08/hello1.gif?w=300&#038;h=249" alt="View Based Application " width="300" height="249" /></a><p class="wp-caption-text">View Based Application </p></div>
<p style="text-align:justify;">a questo punto il programma ci chiederà di dare un nome al progetto e destinarlo in una cartella a nostro piacimento. Diamo il nome del progetto :&#8221;Hello&#8221;.</p>
<p style="text-align:justify;"><strong>Passo 2</strong>: eccoci davanti a tutto il nostro gruppo di file che Xcode ha generato automaticamente e che rappresentano la nostra applicazione. Per ora limitiamoci a vedere quali file si sono creati e finita l&#8217;applicazione li commentero&#8217; tutti.</p>
<div id="attachment_129" class="wp-caption aligncenter" style="width: 310px"><a href="http://iphoneandgo.files.wordpress.com/2008/08/hello2.gif"><img class="size-medium wp-image-129" src="http://iphoneandgo.files.wordpress.com/2008/08/hello2.gif?w=300&#038;h=224" alt="Files generati per progetto &quot;Hello&quot;" width="300" height="224" /></a><p class="wp-caption-text">Files generati per progetto &quot;Hello&quot;</p></div>
<p style="text-align:justify;"><strong>Passo 3:</strong> da questa posizione andate sul file &#8220;HelloViewController.xib&#8221; che si trova dentro la cartella &#8220;Resources&#8221; e cliccatici due volte per far caricare il nostro secondo software : <a title="didascalia builder" href="http://iphoneandgo.wordpress.com/didascalie-e-spiegazioni/" target="_self">Interface Builder</a>. Le finestre che dovrebbero apparire sono le seguenti :</p>
<div id="attachment_131" class="wp-caption aligncenter" style="width: 439px"><a href="http://iphoneandgo.files.wordpress.com/2008/08/builder.gif"><img class="size-medium wp-image-131" src="http://iphoneandgo.files.wordpress.com/2008/08/builder.gif?w=429&#038;h=243" alt="Windows interface builder" width="429" height="243" /></a><p class="wp-caption-text">Windows interface builder</p></div>
<p style="text-align:justify;">Una finestra HelloViewController.xib con i tre componenti, una finestra View (che rappresenta lo spazio dove vedremo la nostra applicazione), una finestra attributes, e una finestra library.</p>
<p style="text-align:justify;"><strong>Passo 4: </strong>tutte le spiegazioni averranno successivamente; ora portiamoci nella finestra library e scegliamo il componente &#8220;Label&#8221;. Tenendolo premuto con il mouse lo trasciniamo fino a portarlo dentro la finestra &#8220;View&#8221;</p>
<div id="attachment_134" class="wp-caption aligncenter" style="width: 310px"><a href="http://iphoneandgo.files.wordpress.com/2008/08/hello3.gif"><img class="size-medium wp-image-134" src="http://iphoneandgo.files.wordpress.com/2008/08/hello3.gif?w=300&#038;h=276" alt="drag and drop Label" width="300" height="276" /></a><p class="wp-caption-text">drag and drop Label</p></div>
<p style="text-align:justify;">una volta arrivati a questo punto o cliccliamo sopra il componente appena inserito a video &#8220;Label&#8221; e lo rinominiamo in &#8220;Hello World !&#8221; o meglio clicchiamo sul campo Label nella finestra Attribute e rinominiamo il testo inserito nel campo Label in &#8220;Hello World !&#8221;</p>
<div id="attachment_135" class="wp-caption aligncenter" style="width: 281px"><a href="http://iphoneandgo.files.wordpress.com/2008/08/hello4.gif"><img class="size-medium wp-image-135" src="http://iphoneandgo.files.wordpress.com/2008/08/hello4.gif?w=271&#038;h=300" alt="Hello World" width="271" height="300" /></a><p class="wp-caption-text">Hello World</p></div>
<p style="text-align:justify;"><strong>Passo 5: </strong>la nostra prima applicazione è praticamente terminata&#8230; andiamo su File del menu e poi premiamo Save per salvare quello che abbiamo appena fatto; ora non ci resta che mandarla in eseguzione nel nostro simulatore; quindi ritorniamo nella finestra del programma Xcode a da li premiamo il pulsante magico : <strong>Build and Go</strong> e se tutto ha funzionato sul mac dovrebbe apparire un simulatore di iphone come questo :</p>
<div id="attachment_137" class="wp-caption aligncenter" style="width: 179px"><a href="http://iphoneandgo.files.wordpress.com/2008/08/hello5.gif"><img class="size-medium wp-image-137" src="http://iphoneandgo.files.wordpress.com/2008/08/hello5.gif?w=169&#038;h=326" alt="Hello World Iphone" width="169" height="326" /></a><p class="wp-caption-text">Hello World Iphone</p></div>
<p>potete premere il tasto &#8220;home&#8221; come nel vero Iphone per tornare alle applicazioni base dell&#8217;iphone.</p>
<p style="text-align:justify;">Ecco nel prossimo articolo analizzeremo piu&#8217; in dettaglio cos&#8217;e&#8217; realmente successo e cosa abbiamo visto fino a questo momento per aver generato la nostra prima applicazione per Iphone.</p>
<p style="text-align:justify;"><a title="lezione pratica 2" href="http://iphoneandgo.wordpress.com/2008/08/24/festival-di-venezia-2008-con-un-feed-rss-per-iphone-guida-pratica-n2/" target="_self">Articolo successivo</a> all&#8217;argomento.</p>
<pre><a title="IphoneAndGo" href="http://www.iphoneandgo.wordpress.com" target="_self">IphoneAndGo</a> - Stefano Lo Duca - loduca_ve@yahoo.it</pre>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/iphoneandgo.wordpress.com/121/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/iphoneandgo.wordpress.com/121/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/iphoneandgo.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/iphoneandgo.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/iphoneandgo.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/iphoneandgo.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/iphoneandgo.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/iphoneandgo.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/iphoneandgo.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/iphoneandgo.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/iphoneandgo.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/iphoneandgo.wordpress.com/121/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iphoneandgo.wordpress.com&blog=4499895&post=121&subd=iphoneandgo&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://iphoneandgo.wordpress.com/2008/08/20/scrivere-applicazioni-per-iphone-guida-pratica-hello-world-n1/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1cd97a8d425a22fb96043284bf5bc082?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">lodux</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/08/pra20_08.png" medium="image">
			<media:title type="html">Pratica</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/08/iphone_hello.jpg?w=300" medium="image">
			<media:title type="html">Hello World Iphone</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/08/hello1.gif?w=300" medium="image">
			<media:title type="html">View Based Application </media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/08/hello2.gif?w=300" medium="image">
			<media:title type="html">Files generati per progetto &#34;Hello&#34;</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/08/builder.gif?w=300" medium="image">
			<media:title type="html">Windows interface builder</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/08/hello3.gif?w=300" medium="image">
			<media:title type="html">drag and drop Label</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/08/hello4.gif?w=271" medium="image">
			<media:title type="html">Hello World</media:title>
		</media:content>

		<media:content url="http://iphoneandgo.files.wordpress.com/2008/08/hello5.gif?w=156" medium="image">
			<media:title type="html">Hello World Iphone</media:title>
		</media:content>
	</item>
	</channel>
</rss>