<?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/"
	>

<channel>
	<title>Bubi Devs &#187; iPhone SDK</title>
	<atom:link href="http://www.bubidevs.net/tag/iphone-sdk/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bubidevs.net</link>
	<description>&#34;Siate affamati. Siate folli&#34;</description>
	<lastBuildDate>Sun, 15 Jan 2012 17:24:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>&#8220;Tutorial pratici per iPhone SDK&#8221;, disponibile la versione 1.5</title>
		<link>http://www.bubidevs.net/2010/07/04/tutorial-pratici-per-iphone-sdk-disponibile-la-versione-1-5/</link>
		<comments>http://www.bubidevs.net/2010/07/04/tutorial-pratici-per-iphone-sdk-disponibile-la-versione-1-5/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 10:00:09 +0000</pubDate>
		<dc:creator>Andrea Busi</dc:creator>
				<category><![CDATA["Tutorial pratici per iPhone SDK"]]></category>
		<category><![CDATA[eBook]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPhone SDK]]></category>
		<category><![CDATA[Libro]]></category>
		<category><![CDATA[programmazione]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.bubidevs.net/?p=5776</guid>
		<description><![CDATA[Sono passati solo 3 mesi dall&#8217;ultimo aggiornamento del mio ebook &#8220;Tutorial pratici per iPhone SDK&#8221;, ma è già ora di una nuova versione. Con il rilascio del nuovo firmware 4.0 (e del relativo SDK) ho testato tutti i tutorial, che sono risultati pienamente compatibili con il nuovo &#8220;iOS&#8221;. Questo è l&#8217;aspetto sicuramente più importante, ma...]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="alignnone" src="http://www.bubidevs.net/Immagini/LibroGenerale.png" alt="" width="500" height="100" /></p>
<p>Sono passati solo 3 mesi dall&#8217;ultimo aggiornamento del mio ebook &#8220;Tutorial pratici per iPhone SDK&#8221;, ma è già ora di una nuova versione.</p>
<p>Con il rilascio del nuovo firmware 4.0 (e del relativo SDK) ho testato tutti i tutorial, che sono risultati pienamente compatibili con il nuovo &#8220;iOS&#8221;. Questo è l&#8217;aspetto sicuramente più importante, ma vorrei sottolineare anche una bella novità: la copertina del libro, infatti, è completamente nuova. È stata realizzata da Antonio, che poche ore dopo aver acquistato il mio libro mi ha fatto questo stupendo regalo, ora il libro non sfigurerà nella vostra collezione di iBook! <img src='http://www.bubidevs.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/07/copertina.jpg"><img class="alignnone size-medium wp-image-5779" title="copertina" src="http://www.bubidevs.net/wp-content/uploads/2010/07/copertina-212x300.jpg" alt="" width="212" height="300" /></a></p>
<p><span id="more-5776"></span></p>
<p>Eccovi il changelog completo di questa versione:</p>
<ul>
<li>corretti dei piccoli errori nel capitolo dedicato a Brushes (grazie iHacker1995);</li>
<li>corretta un&#8217;imprecisione a pagina 17 (grazie Marco Merlo);</li>
<li>aggiornate immagini a pagine 15 e 16;</li>
<li>inserito il delegato NSXMLParserDelegate nei capitoli 12 e 14, che evita due warning in fase di compilazione;</li>
<li>tutti i tutorial sono testati e funzionanti che firmware 4.0;</li>
<li>corretti diversi errori nella numerazione del codice e di scrittura generale (un grazie davvero grande a Stefano, che mi ha segnalato circa 15 errori!)</li>
<li>corretto un bug nel tutorial delle tabelle: se si cancellava un elemento era possibile comunque ricercarlo;</li>
<li>nuova copertina davvero stupenda!</li>
</ul>
<p>Consiglio a tutti di scaricare questa nuova versione dell&#8217;ebook, che sarà ovviamente gratuita per chiunque abbia già acquistato il libro. Chi non lo avesse ancora acquistato, invece, può trovare tutte le informazioni necessarie in <a href="http://www.bubidevs.net/tutorial-pratici-per-iphone-sdk/">questa pagina</a>.</p>
<p>Vi ricordo che il link per scaricare il libro è il <a href="http://www.bubidevs.net/LibroSDK/Tutorial_pratici_per_iPhone_SDK.pdf">seguente</a>, mentre <a href="http://www.bubidevs.net/LibroSDK/ProgettiLibroSDK.zip">da qui</a> potete scaricare i file di progetto aggiornati. I dati per accedere rimangono gli stessi che avete ricevuto quando avete acquistato il libro.</p>
<p>Se avete altri errori da segnalare, oppure trovate delle parti difficili o scritte male segnalatemelo! (tramite il form <a href="http://www.bubidevs.net/contattami/">Contattami</a> oppure nei commenti di questo articolo).</p>
<p><em>Un grandissimo ringraziamento ad Antonio (</em><a href="http://www.ilovemac.it/"><em>iLoveMac</em></a><em>) per la meravigliosa copertina, e anche al solito miniMAC (</em><a href="http://www.osxmagazine.com/"><em>osXmagazine</em></a><em>) per la stellina della compatibilità con l&#8217;SDK 4.0.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bubidevs.net/2010/07/04/tutorial-pratici-per-iphone-sdk-disponibile-la-versione-1-5/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Disponibili le Dropbox API</title>
		<link>http://www.bubidevs.net/2010/05/05/disponibili-le-dropbox-api/</link>
		<comments>http://www.bubidevs.net/2010/05/05/disponibili-le-dropbox-api/#comments</comments>
		<pubDate>Wed, 05 May 2010 14:02:24 +0000</pubDate>
		<dc:creator>Fast</dc:creator>
				<category><![CDATA[Notizia]]></category>
		<category><![CDATA[Xcode]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[applicazione]]></category>
		<category><![CDATA[AppStore]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[gratis]]></category>
		<category><![CDATA[iPhone SDK]]></category>
		<category><![CDATA[Mac Os X]]></category>
		<category><![CDATA[progetto]]></category>
		<category><![CDATA[programmazione]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.bubidevs.net/?p=5503</guid>
		<description><![CDATA[Notizia molto veloce per informarvi che tramite un nuovo messaggio su Twitter, siamo venuti a conoscenza che &#8220;Dropbox&#8221; ha reso disponibili le API per integrare questo fantastico servizio all&#8217;interno delle proprie applicazione per iPhone/iPad Chiunque fosse interessato a questo servizio può andare qui, inserire i propri dati e aspettare di ricevere la mail di conferma,...]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/05/Schermata-2010-05-05-a-15.49.08.png"><img class="alignnone size-full wp-image-5507" title="Schermata 2010-05-05 a 15.49.08" src="http://www.bubidevs.net/wp-content/uploads/2010/05/Schermata-2010-05-05-a-15.49.08.png" alt="" width="434" height="122" /></a></p>
<p>Notizia molto veloce per informarvi che tramite un nuovo messaggio su Twitter, siamo venuti a conoscenza che &#8220;Dropbox&#8221; ha reso disponibili le API per integrare questo fantastico servizio all&#8217;interno delle proprie applicazione per iPhone/iPad</p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/05/Schermata-2010-05-05-a-15.47.56.png"><img class="alignnone size-full wp-image-5506" title="Schermata 2010-05-05 a 15.47.56" src="http://www.bubidevs.net/wp-content/uploads/2010/05/Schermata-2010-05-05-a-15.47.56.png" alt="" width="359" height="87" /></a></p>
<p style="text-align: center;"><span id="more-5503"></span></p>
<p style="text-align: left;">Chiunque fosse interessato a questo servizio può andare <a href="https://www.dropbox.com/developers">qui</a>, inserire i propri dati e aspettare di ricevere la mail di conferma, invece se volete leggere altre informazioni andate <a href="http://blog.dropbox.com/?p=492">qui</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bubidevs.net/2010/05/05/disponibili-le-dropbox-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XCode Tips&amp;Tricks #10 – Memoria disponibile scarsa: come rilevare tale avviso!</title>
		<link>http://www.bubidevs.net/2010/04/13/xcode-tipstricks-10-%e2%80%93-memoria-disponibile-scarsa-come-rilevare-tale-avviso/</link>
		<comments>http://www.bubidevs.net/2010/04/13/xcode-tipstricks-10-%e2%80%93-memoria-disponibile-scarsa-come-rilevare-tale-avviso/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 10:30:22 +0000</pubDate>
		<dc:creator>Fast</dc:creator>
				<category><![CDATA[iPhone SDK]]></category>
		<category><![CDATA[XCode Tips&Tricks]]></category>
		<category><![CDATA[applicationDidReceiveMemoryWarning]]></category>
		<category><![CDATA[memoria]]></category>
		<category><![CDATA[RAM]]></category>
		<category><![CDATA[UIAlertView]]></category>
		<category><![CDATA[warning]]></category>

		<guid isPermaLink="false">http://www.bubidevs.net/?p=5248</guid>
		<description><![CDATA[Nell&#8217;appuntamento di oggi vedremo come rilevare quando la nostra applicazione va in &#8220;debito di memoria&#8221; (per rubare un&#8217;espressione agli atleti), ovvero quando la memoria RAM disponibile diventa poca e potrebbe compromettere il corretto funzionamento della nostra applicazione. Per rilevare tale mancanza ci basterà implementare il seguente metodo nel file &#8220;[nome-progetto]AppDelegate.m&#8221; del nostro progetto: - &#40;void&#41;applicationDidReceiveMemoryWarning:&#40;UIApplication...]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.bubidevs.net/Immagini/XCode-Tips&amp;Tricks.png"><img class="alignnone" src="http://www.bubidevs.net/Immagini/XCode-Tips&amp;Tricks.png" alt="" width="500" height="109" /></a></p>
<p style="text-align: left;">Nell&#8217;appuntamento di oggi vedremo come rilevare quando la nostra applicazione va in &#8220;debito di memoria&#8221; (per rubare un&#8217;espressione agli atleti), ovvero quando la memoria RAM disponibile diventa poca e potrebbe compromettere il corretto funzionamento della nostra applicazione.</p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/04/IMG_0044.png"><img class="alignnone size-medium wp-image-5278" title="IMG_0044" src="http://www.bubidevs.net/wp-content/uploads/2010/04/IMG_0044-300x200.png" alt="" width="300" height="200" /></a></p>
<p style="text-align: left;"><span id="more-5248"></span></p>
<p style="text-align: left;">Per rilevare tale mancanza ci basterà implementare il seguente metodo nel file &#8220;[nome-progetto]AppDelegate.m&#8221; del nostro progetto:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span>applicationDidReceiveMemoryWarning<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UIApplication <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>application<span style="color: #002200;">&#123;</span>
	UIAlertView <span style="color: #002200;">*</span>avvisomem <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UIAlertView alloc<span style="color: #002200;">&#93;</span> initWithTitle<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Attenzione!&quot;</span> message<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Poca memoria disponibile!&quot;</span> delegate<span style="color: #002200;">:</span><span style="color: #a61390;">nil</span> cancelButtonTitle<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;OK&quot;</span> otherButtonTitles<span style="color: #002200;">:</span><span style="color: #a61390;">nil</span><span style="color: #002200;">&#93;</span>;
&nbsp;
	<span style="color: #002200;">&#91;</span>avvisomem show<span style="color: #002200;">&#93;</span>;
	<span style="color: #002200;">&#91;</span>avvisomem release<span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#125;</span></pre></div></div>

<p style="text-align: left;">Come potete vedere abbiamo semplicemente creato una UIAlertView che avviserà l&#8217;utente della scarsa memoria disponibile. Dopo aver avviato l&#8217;applicazione nel Simulatore, ci basterà andare nel menù &#8220;Hardware -&gt; Simula avviso memoria&#8221;</p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/04/Schermata-2010-04-10-a-14.53.45.png"><img class="alignnone size-full wp-image-5253" title="Schermata 2010-04-10 a 14.53.45" src="http://www.bubidevs.net/wp-content/uploads/2010/04/Schermata-2010-04-10-a-14.53.45.png" alt="" width="354" height="268" /></a></p>
<p style="text-align: left;">ed ecco che comparirà il messaggio di avviso:</p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/04/Schermata-2010-04-10-a-14.53.51.png"><img class="alignnone size-large wp-image-5254" title="Schermata 2010-04-10 a 14.53.51" src="http://www.bubidevs.net/wp-content/uploads/2010/04/Schermata-2010-04-10-a-14.53.51-376x700.png" alt="" width="376" height="700" /></a></p>
<p>Fateci sapere cosa ne pensate di questo tips&amp;tricks!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bubidevs.net/2010/04/13/xcode-tipstricks-10-%e2%80%93-memoria-disponibile-scarsa-come-rilevare-tale-avviso/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>iPhone SDK 3.2 Final rilasciato!</title>
		<link>http://www.bubidevs.net/2010/04/03/iphone-sdk-3-2-final-rilasciato/</link>
		<comments>http://www.bubidevs.net/2010/04/03/iphone-sdk-3-2-final-rilasciato/#comments</comments>
		<pubDate>Sat, 03 Apr 2010 13:55:14 +0000</pubDate>
		<dc:creator>Fast</dc:creator>
				<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone SDK]]></category>
		<category><![CDATA[Xcode]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[AppStore]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[Mac Os X]]></category>
		<category><![CDATA[programmazione]]></category>
		<category><![CDATA[Snow Leopard]]></category>

		<guid isPermaLink="false">http://www.bubidevs.net/?p=5146</guid>
		<description><![CDATA[Appena sono state aperte le porte dell&#8217;Apple Store di New York per la vendita del nuovo iPad, Apple ha rilasciato la versione finale dell&#8217;SDK, che giunge così alla versione 3.2 e supporta appieno la creazione di applicazioni per iPhone e iPad! Non vi sono particolari differenze tra questa versione e la GM (Gold Master) di...]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/04/Schermata-2010-04-03-a-15.49.32.png"><img class="alignnone size-large wp-image-5147" title="Schermata 2010-04-03 a 15.49.32" src="http://www.bubidevs.net/wp-content/uploads/2010/04/Schermata-2010-04-03-a-15.49.32-500x168.png" alt="" width="500" height="168" /></a></p>
<p style="text-align: left;">Appena sono state aperte le porte dell&#8217;Apple Store di New York per la vendita del nuovo iPad, Apple ha rilasciato la versione finale dell&#8217;SDK, che giunge così alla versione 3.2 e supporta appieno la creazione di applicazioni per iPhone e iPad!</p>
<p style="text-align: left;"><span id="more-5146"></span></p>
<p style="text-align: left;">Non vi sono particolari differenze tra questa versione e la GM (Gold Master) di qualche giorno fa, e non sono emerse novità di alcun genere.</p>
<p style="text-align: left;">Vi ricordo che per installare l&#8217;SDK 3.2 è necessario Mac OS X Snow Leopard, mentre potete scaricarlo da <a href="http://developer.apple.com/iphone/index.action#downloads">questo indirizzo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bubidevs.net/2010/04/03/iphone-sdk-3-2-final-rilasciato/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DevTutorial #27 &#8211; Incremento automatico del numero di build e data in un progetto</title>
		<link>http://www.bubidevs.net/2010/03/23/devtutorial-27-incremento-automatico-del-numero-di-build-e-data-in-un-progetto/</link>
		<comments>http://www.bubidevs.net/2010/03/23/devtutorial-27-incremento-automatico-del-numero-di-build-e-data-in-un-progetto/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 08:00:10 +0000</pubDate>
		<dc:creator>Andrea Busi</dc:creator>
				<category><![CDATA[DevTutorial]]></category>
		<category><![CDATA[iPhone SDK]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[Bundle version]]></category>
		<category><![CDATA[CFBuildDate]]></category>
		<category><![CDATA[CFBuildNumber]]></category>
		<category><![CDATA[numero versione]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://www.bubidevs.net/?p=4793</guid>
		<description><![CDATA[In questo nuovo tutorial vedremo come realizzare una cosa molto particolare, che potrà tornare utile soprattutto quando distrubuirete l&#8217;applicazione a diversi beta tester. Vedremo, infatti, come inserire all&#8217;interno del nostro progetto (oltre al classico numero di versione dell&#8217;applicazione) un numero di build progressimo, insieme anche alla data della build in questione. Utilizzeremo uno script automatico,...]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="alignnone" src="http://www.bubidevs.net/Immagini/Logo-DevTutorial.png" alt="" width="490" height="200" /></p>
<p>In questo nuovo tutorial vedremo come realizzare una cosa molto particolare, che potrà tornare utile soprattutto quando distrubuirete l&#8217;applicazione a diversi beta tester.</p>
<p>Vedremo, infatti, come inserire all&#8217;interno del nostro progetto (oltre al classico numero di versione dell&#8217;applicazione) un numero di build progressimo, insieme anche alla data della build in questione.</p>
<p>Utilizzeremo uno script automatico, che ad ogni build creata aumenterà il numero di build e aggiornerà la data della build Potremo, così, avere sempre sotto controllo l&#8217;esatta versione della nostra applicazione, in modo da avere un controllo completo su tutte le versioni.</p>
<p>Buon tutorial!</p>
<p><span id="more-4793"></span></p>
<h1>1. Inseriamo lo script</h1>
<p>Entriamo nel progetto in cui vogliamo inserire l&#8217;incremento automatico del numero di versione. Facciamo clic con il tasto destro sul nome del nostro progetto e scegliamo &#8220;Add -&gt; New Build Phase -&gt; New Run Script Build Phase&#8221;.</p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/03/Schermata-2010-03-15-a-21.20.14.png"><img class="alignnone size-large wp-image-4796" title="Schermata 2010-03-15 a 21.20.14" src="http://www.bubidevs.net/wp-content/uploads/2010/03/Schermata-2010-03-15-a-21.20.14-499x119.png" alt="" width="499" height="119" /></a></p>
<p>Si aprirà una schermata come questa:</p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/03/Schermata-2010-03-15-a-21.22.45.png"><img class="alignnone size-large wp-image-4795" title="Schermata 2010-03-15 a 21.22.45" src="http://www.bubidevs.net/wp-content/uploads/2010/03/Schermata-2010-03-15-a-21.22.45-500x530.png" alt="" width="500" height="530" /></a></p>
<p>in cui dovremo andare ad inserire lo script necessario. Eccovelo:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #666666; font-style: italic;"># Auto Increment Version Script</span>
<span style="color: #007800;">buildPlist</span>=<span style="color: #ff0000;">&quot;prova-Info.plist&quot;</span>
<span style="color: #007800;">CFBuildNumber</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>libexec<span style="color: #000000; font-weight: bold;">/</span>PlistBuddy <span style="color: #660033;">-c</span> <span style="color: #ff0000;">&quot;Print CFBuildNumber&quot;</span> <span style="color: #007800;">$buildPlist</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #007800;">CFBuildNumber</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #007800;">$CFBuildNumber</span> + <span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #000000; font-weight: bold;">&lt;</span>div <span style="color: #007800;">id</span>=<span style="color: #ff0000;">&quot;_mcePaste&quot;</span><span style="color: #000000; font-weight: bold;">&gt;/</span>usr<span style="color: #000000; font-weight: bold;">/</span>libexec<span style="color: #000000; font-weight: bold;">/</span>PlistBuddy <span style="color: #660033;">-c</span> <span style="color: #ff0000;">&quot;Set :CFBuildNumber <span style="color: #007800;">$CFBuildNumber</span>&quot;</span> <span style="color: #007800;">$buildPlist</span>
<span style="color: #007800;">CFBuildDate</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">date</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>libexec<span style="color: #000000; font-weight: bold;">/</span>PlistBuddy <span style="color: #660033;">-c</span> <span style="color: #ff0000;">&quot;Set :CFBuildDate <span style="color: #007800;">$CFBuildDate</span>&quot;</span> <span style="color: #007800;">$buildPlist</span><span style="color: #000000; font-weight: bold;">&lt;/</span>div<span style="color: #000000; font-weight: bold;">&gt;</span></pre></div></div>

<p>Ovviamente dovete modificare la stringa <em>buildPlist=&#8221;prova-Info.plis&#8221;</em>, inserendo il nome del vostro file &#8220;.plist&#8221; (che sarà nella forma &#8220;nome_progetto-Info.plist&#8221;).</p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/03/Schermata-2010-03-15-a-21.23.21.png"><img class="alignnone size-large wp-image-4797" title="Schermata 2010-03-15 a 21.23.21" src="http://www.bubidevs.net/wp-content/uploads/2010/03/Schermata-2010-03-15-a-21.23.21-500x530.png" alt="" width="500" height="530" /></a></p>
<p>Chiudete pure tale finestra.</p>
<h1>2. Inseriamo le variabili necessarie</h1>
<p>Spostatevi, ora, nella cartella &#8220;Resources&#8221; ed aprite il file &#8220;xxx-Info.plist&#8221; che trovate al suo interno (dove xxx è il nome del vostro progetto).</p>
<p>Utilizzando il &#8220;+&#8221; che appare di fianco alle voci già presenti, inserite due nuovi valori, rispettivamente chiamati &#8220;<em>CFBuildDate</em>&#8221; e &#8220;<em>CFBuildNumber</em>&#8220;. Non c&#8217;è bisogno che inseriate dei valori per queste due voci, in quanto verranno create automaticamente dallo script. Ecco come deve essere il vostro file &#8220;.plist&#8221;:</p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/03/Schermata-2010-03-15-a-21.26.45.png"><img class="alignnone size-large wp-image-4798" title="Schermata 2010-03-15 a 21.26.45" src="http://www.bubidevs.net/wp-content/uploads/2010/03/Schermata-2010-03-15-a-21.26.45-500x327.png" alt="" width="500" height="327" /></a></p>
<p>Potete notare che è già presente la stringa &#8220;<em>Bundle version</em>&#8220;, che identifica la versione della nostra applicazione. Sarà anche questo un valore che andremo a leggere. Salvate il file e chiudetelo pure.</p>
<h1>3. Inseriamo il codice necessario</h1>
<p>Non ci resta che inserire quelle poche istruzioni che ci permetteranno di leggere il numero di versione, il numero di build e la data dell&#8217;ultima build. Inserite, dove vi serve, il seguente codice:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span>versione <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><span style="color: #400080;">NSBundle</span> mainBundle<span style="color: #002200;">&#93;</span> infoDictionary<span style="color: #002200;">&#93;</span> objectForKey<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;CFBundleVersion&quot;</span><span style="color: #002200;">&#93;</span>;
<span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span>build <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><span style="color: #400080;">NSBundle</span> mainBundle<span style="color: #002200;">&#93;</span> infoDictionary<span style="color: #002200;">&#93;</span> objectForKey<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;CFBuildNumber&quot;</span><span style="color: #002200;">&#93;</span>;
<span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span>data <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><span style="color: #400080;">NSBundle</span> mainBundle<span style="color: #002200;">&#93;</span> infoDictionary<span style="color: #002200;">&#93;</span> objectForKey<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;CFBuildDate&quot;</span><span style="color: #002200;">&#93;</span>;</pre></td></tr></table></div>

<p>Come vedete abbiamo ottenuto tre stringhe con i rispettivi tre valori, che potrete utilizzare a vostro piacimento!</p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/03/Schermata-2010-03-15-a-22.01.16.png"><img class="alignnone size-full wp-image-4802" title="Schermata 2010-03-15 a 22.01.16" src="http://www.bubidevs.net/wp-content/uploads/2010/03/Schermata-2010-03-15-a-22.01.16.png" alt="" width="414" height="770" /></a></p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/03/AutoBuildExample.zip"><img src="http://www.bubidevs.net/Immagini/download_icon.png" alt="" width="33" height="40" align="middle" /></a> Se Avete Problemi, questo è il <a href="http://www.bubidevs.net/wp-content/uploads/2010/03/AutoBuildExample.zip">nostro file di progetto</a>.</p>
<p style="text-align: left;"><strong><span style="color: #ff0000;">Nota:</span></strong> per visualizzare lo script inserito espandete l&#8217;elemento &#8220;<em>Targets</em>&#8221; del progetto e fate doppio clic su &#8220;<em>Run Script</em>&#8220;.</p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/03/Schermata-2010-03-15-a-22.11.08.png"><img class="alignnone size-full wp-image-4804" title="Schermata 2010-03-15 a 22.11.08" src="http://www.bubidevs.net/wp-content/uploads/2010/03/Schermata-2010-03-15-a-22.11.08.png" alt="" width="226" height="106" /></a></p>
<p style="text-align: left;"><em>La guida è stata creata da Andrea Busi per “<a style="color: #3362fb; text-decoration: none;" href="http://www.bubidevs.net/2010/03/13/2010/02/09/2009/09/25/2009/08/08/2009/07/04/">Bubi Devs</a>”, prendendo spunto da questa guida: &#8220;<a href="http://imthi.com/blog/programming/auto-increment-build-number-date-in-xcode-iphone-project.php">Auto Increment Build Number &amp; Date in XCode iPhone Project</a>&#8220;. I meriti, quindi, sono del legittimo autore.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bubidevs.net/2010/03/23/devtutorial-27-incremento-automatico-del-numero-di-build-e-data-in-un-progetto/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>XCode Tips&amp;Tricks #7 &#8211; Inserire una UITextFiel in una UIViewAlert</title>
		<link>http://www.bubidevs.net/2010/03/16/la-posta-di-bubidevs-7-inserire-una-uitextfiel-in-una-uiviewalert/</link>
		<comments>http://www.bubidevs.net/2010/03/16/la-posta-di-bubidevs-7-inserire-una-uitextfiel-in-una-uiviewalert/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 10:00:07 +0000</pubDate>
		<dc:creator>Andrea Busi</dc:creator>
				<category><![CDATA[iPhone SDK]]></category>
		<category><![CDATA[XCode Tips&Tricks]]></category>
		<category><![CDATA[posta di BubiDevs]]></category>
		<category><![CDATA[text field]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tips&tricks]]></category>
		<category><![CDATA[UIAlertView]]></category>
		<category><![CDATA[UITextField]]></category>

		<guid isPermaLink="false">http://www.bubidevs.net/?p=4741</guid>
		<description><![CDATA[Solo qualche giorno fa vi avevamo spiegato come inserire più bottoni in una UIAlertView. Subito dopo ho ricevuto via Twitter una richiesta da &#8220;Luigix95&#8220;, che mi chiedeva come inserire una UITextField all&#8217;interno di un UIViewAlert, in modo da permettere all&#8217;utente di inserire del testo (in pratica un comportamente simile a quello che avviene quando scaricate...]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;">
<p style="text-align: center;"><img class="alignnone" src="http://www.bubidevs.net/Immagini/XCode-Tips&amp;Tricks.png" alt="" width="500" height="109" /></p>
<p>Solo qualche giorno fa vi <a href="http://www.bubidevs.net/2010/03/10/la-posta-di-bubidevs-6-come-inserire-piu-bottoni-in-una-uialertview/">avevamo spiegato</a> come inserire più bottoni in una UIAlertView.</p>
<p>Subito dopo ho ricevuto via Twitter una richiesta da &#8220;<em>Luigix95</em>&#8220;, che mi chiedeva come inserire una UITextField all&#8217;interno di un UIViewAlert, in modo da permettere all&#8217;utente di inserire del testo (in pratica un comportamente simile a quello che avviene quando scaricate un&#8217;applicazione e AppStore vi richiede la password).</p>
<p>Ecco, quindi, il procedimento da seguire.</p>
<p><span id="more-4741"></span>Nel file &#8220;.h&#8221; della vostra classe inserite la dichiarazione di una UITextField, eccovi un esempio:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #a61390;">@interface</span> provaAlertViewController <span style="color: #002200;">:</span> UIViewController <span style="color: #002200;">&amp;</span>lt;UIAlertViewDelegate, UITextFieldDelegate<span style="color: #002200;">&amp;</span>gt; <span style="color: #002200;">&#123;</span>
  UITextField <span style="color: #002200;">*</span>textField;
<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #a61390;">@end</span></pre></td></tr></table></div>

<p>Come vedete abbiamo definito una text field (riga 2). Ricordatevi, inoltre, di inserire i due delegati &#8220;UIAlertViewDelegate&#8221; e &#8220;UItextFieldDelegate&#8221;, che ci permetteranno di interagire con la UIAlertView e con la UITextField.</p>
<p>Nel file &#8220;.m&#8221; definiamo (dove vi serve) una UIAlertView, e inseriamo anche la text field appena definita:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="objc" style="font-family:monospace;"> UIAlertView <span style="color: #002200;">*</span>alertView <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UIAlertView alloc<span style="color: #002200;">&#93;</span> initWithTitle<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Inserisci il tuo nome&quot;</span> message<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot; &quot;</span> delegate<span style="color: #002200;">:</span>self cancelButtonTitle<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Annulla&quot;</span> otherButtonTitles<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;OK&quot;</span>, <span style="color: #a61390;">nil</span><span style="color: #002200;">&#93;</span>;
 <span style="color: #11740a; font-style: italic;">// definiamo e inseriamo la TextField</span>
 textField <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UITextField alloc<span style="color: #002200;">&#93;</span> initWithFrame<span style="color: #002200;">:</span>CGRectMake<span style="color: #002200;">&#40;</span><span style="color: #2400d9;">20.0</span>, <span style="color: #2400d9;">45.0</span>, <span style="color: #2400d9;">245.0</span>, <span style="color: #2400d9;">25.0</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#93;</span>;
 textField.delegate <span style="color: #002200;">=</span> self;
 <span style="color: #002200;">&#91;</span>textField setBackgroundColor<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span>UIColor whiteColor<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;
 <span style="color: #002200;">&#91;</span>alertView addSubview<span style="color: #002200;">:</span>textField<span style="color: #002200;">&#93;</span>;
 <span style="color: #11740a; font-style: italic;">// lo spostiamo un po' in alto, altrimenti viene nascosto dalla tastiera</span>
 CGAffineTransform alza <span style="color: #002200;">=</span> CGAffineTransformMakeTranslation<span style="color: #002200;">&#40;</span><span style="color: #2400d9;">0.0</span>, <span style="color: #2400d9;">100.0</span><span style="color: #002200;">&#41;</span>;
 <span style="color: #002200;">&#91;</span>alertView setTransform<span style="color: #002200;">:</span>alza<span style="color: #002200;">&#93;</span>;
 <span style="color: #11740a; font-style: italic;">// mostriamo l'alert view</span>
 <span style="color: #002200;">&#91;</span>alertView show<span style="color: #002200;">&#93;</span>;
 <span style="color: #002200;">&#91;</span>alertView release<span style="color: #002200;">&#93;</span>;</pre></td></tr></table></div>

<p>Come potete vedere, alla riga 3 abbiamo istanziato una UITextField con delle dimensioni che possano stare nell&#8217;UIAlertView. Settiamo, poi, il delegato (riga 4, che vedremo fra poco a cosa servirà), il colore (riga 5) e la inseriamo poi nell&#8217;alert (riga 6).</p>
<p>Alla riga 8 definiamo una trasformazione, che sposterà verso l&#8217;alto la nostra UIAlertView, in modo che essa non venga coperta dalla tastiera che apparirà per scrivere nella text field.</p>
<p>Ci mancano solo due semplici metodi da inserire, due metodi appartenenti ai delegati che abbiamo definito nell&#8217;intestazione della classe. Eccoli:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span>alertView<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UIAlertView <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>actionSheet clickedButtonAtIndex<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>NSInteger<span style="color: #002200;">&#41;</span>buttonIndex <span style="color: #002200;">&#123;</span>
 <span style="color: #11740a; font-style: italic;">// l'utente ha selezionato si, quindi vuole azzerare i punteggi</span>
 <span style="color: #a61390;">if</span> <span style="color: #002200;">&#40;</span>buttonIndex <span style="color: #002200;">==</span> <span style="color: #2400d9;">1</span><span style="color: #002200;">&#41;</span> <span style="color: #002200;">&#123;</span>
 <span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span>textValue <span style="color: #002200;">=</span> textField.text;
 NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;testo: %@&quot;</span>,textValue<span style="color: #002200;">&#41;</span>;
 <span style="color: #002200;">&#125;</span>
<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">BOOL</span><span style="color: #002200;">&#41;</span>textFieldShouldReturn<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UITextField <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>textField<span style="color: #002200;">&#123;</span>
 <span style="color: #002200;">&#91;</span>textField resignFirstResponder<span style="color: #002200;">&#93;</span>;
 <span style="color: #a61390;">return</span> <span style="color: #a61390;">YES</span>;
<span style="color: #002200;">&#125;</span></pre></td></tr></table></div>

<p>Il primo metodo ci permette di capire il bottone che è stato premuto (nel nostro caso controlliamo che sia stato premuto &#8220;Ok&#8221;), e ricaviamo il testo inserito, stampandolo semplicemente nella console di debug.</p>
<p>Il secondo metodo, invece, lo avrete già visto più volte, e permette alla tastiera di chiudersi quando si clicca su &#8220;Return&#8221; (o &#8220;Done&#8221;) della tastiera.</p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/03/Schermata-2010-03-16-a-11.37.06.png"><img class="alignnone size-full wp-image-4809" title="Schermata 2010-03-16 a 11.37.06" src="http://www.bubidevs.net/wp-content/uploads/2010/03/Schermata-2010-03-16-a-11.37.06.png" alt="" width="414" height="770" /></a></p>
<p>Spero di avervi mostrato qualcosa che vi possa tornare utile, se avete richieste scrivetemi utilizzando <a href="http://www.bubidevs.net/contattami/">questo form</a> oppure direttamente su <a href="http://twitter.com/bubidevs">Twitter</a>! Alla prossima!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bubidevs.net/2010/03/16/la-posta-di-bubidevs-7-inserire-una-uitextfiel-in-una-uiviewalert/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>DevTutorial #26 &#8211; Creiamo il nostro &#8220;Brushes&#8221; personale! (parte 2)</title>
		<link>http://www.bubidevs.net/2010/03/13/devtutorial-26-creiamo-il-nostro-brushes-personale-parte-2/</link>
		<comments>http://www.bubidevs.net/2010/03/13/devtutorial-26-creiamo-il-nostro-brushes-personale-parte-2/#comments</comments>
		<pubDate>Sat, 13 Mar 2010 06:00:04 +0000</pubDate>
		<dc:creator>Andrea Busi</dc:creator>
				<category><![CDATA[DevTutorial]]></category>
		<category><![CDATA[iPhone SDK]]></category>
		<category><![CDATA[brushes]]></category>
		<category><![CDATA[CoreGraphics]]></category>
		<category><![CDATA[disegnare]]></category>
		<category><![CDATA[draw]]></category>
		<category><![CDATA[grafica]]></category>
		<category><![CDATA[imageSavedToPhotosAlbum]]></category>
		<category><![CDATA[immagini]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[UIAlertView]]></category>
		<category><![CDATA[UIImageWriteToSavedPhotosAlbum]]></category>

		<guid isPermaLink="false">http://www.bubidevs.net/?p=4619</guid>
		<description><![CDATA[Nella prima parte del tutorial abbiamo visto come creare la struttura di base del nostro &#8220;Brushes&#8221;, inoltre abbiamo fatto in modo che l&#8217;utente possa disegnare all&#8217;interno dell&#8217;applicazione. In questa seconda parte aggiungeremo alcuni aspetti fondamentali per migliorare l&#8217;applicazione: la possibilità di cambiare la dimensione e il colore del pennello, e la possibilità di salvare i...]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.bubidevs.net/iphone-sdk/devtutorial/"><img class="alignnone" src="http://www.bubidevs.net/Immagini/Logo-DevTutorial.png" alt="" width="490" height="200" /></a></p>
<p>Nella prima parte del tutorial abbiamo visto come creare la struttura di base del nostro &#8220;Brushes&#8221;, inoltre abbiamo fatto in modo che l&#8217;utente possa disegnare all&#8217;interno dell&#8217;applicazione.</p>
<p>In questa seconda parte aggiungeremo alcuni aspetti fondamentali per migliorare l&#8217;applicazione: la possibilità di cambiare la dimensione e il colore del pennello, e la possibilità di salvare i disegni.</p>
<p>Vedremo, quindi, come due classi diverse possano comunicare tra loro, e come utilizzare il metodo &#8220;imageSavedToPhotosAlbum&#8221; che permette di salvare delle immagini nella galleria dell&#8217;utente.</p>
<p>Buon tutorial a tutti!</p>
<p><span id="more-4619"></span></p>
<h3 style="text-align: center;"><em><a href="http://www.devapp.it/wordpress/t060-creiamo-unapplicazione-per-iphone-in-stile-brushes-parte-2.html">Leggi il tutorial completo su devAPP</a></em></h3>
]]></content:encoded>
			<wfw:commentRss>http://www.bubidevs.net/2010/03/13/devtutorial-26-creiamo-il-nostro-brushes-personale-parte-2/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>DevTutorial #25 &#8211; Creiamo il nostro &#8220;Brushes&#8221; personale! (parte 1)</title>
		<link>http://www.bubidevs.net/2010/03/05/devtutorial-25-creiamo-il-nostro-brushes-personale-parte-1/</link>
		<comments>http://www.bubidevs.net/2010/03/05/devtutorial-25-creiamo-il-nostro-brushes-personale-parte-1/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 06:00:44 +0000</pubDate>
		<dc:creator>Andrea Busi</dc:creator>
				<category><![CDATA[DevTutorial]]></category>
		<category><![CDATA[iPhone SDK]]></category>
		<category><![CDATA[brushes]]></category>
		<category><![CDATA[CGPoint]]></category>
		<category><![CDATA[CoreGraphics]]></category>
		<category><![CDATA[disegnare]]></category>
		<category><![CDATA[draw]]></category>
		<category><![CDATA[grafica]]></category>
		<category><![CDATA[touchesBegan]]></category>
		<category><![CDATA[touchesEnded]]></category>
		<category><![CDATA[touchesMoved]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[UIColor]]></category>
		<category><![CDATA[UIImageView]]></category>

		<guid isPermaLink="false">http://www.bubidevs.net/?p=4570</guid>
		<description><![CDATA[Rieccoci con una nuova serie di tutorial! Quello che ho pensato per voi questa volta è un po&#8217; particolare, ma secondo me molto carino e con molte cose utili. Sicuramente tutti voi conoscerete Brushes (link iTunes), un programma molto famoso per disegnare sul proprio iPhone e iPod Touch. Ho pensato, quindi, di spiegarvi come realizzarne...]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.bubidevs.net/iphone-sdk/devtutorial/"><img class="alignnone" src="http://www.bubidevs.net/Immagini/Logo-DevTutorial.png" alt="" width="490" height="200" /></a></p>
<p>Rieccoci con una nuova serie di tutorial!</p>
<p>Quello che ho pensato  per voi questa volta è un po&#8217; particolare, ma secondo me molto carino e  con molte cose utili. Sicuramente tutti voi conoscerete <strong>Brushes</strong> (<a href="http://itunes.apple.com/it/app/brushes/id288230264?mt=8">link  iTunes</a>), un programma molto famoso per disegnare sul proprio iPhone e  iPod Touch.</p>
<p>Ho pensato, quindi, di spiegarvi come realizzarne uno tutto vostro! In questa prima parte vedremo come fare in modo che l&#8217;utente possa, muovendo il dito sullo schermo, disegnare a suo piacimento.</p>
<p>Ovviamente in questa prima parte ci occuperemo solo di questo aspetto. Nel prossimo tutorial vedremo, poi, come rendere possibile la definizione di un pennello personale, con dimensione e colore a scelta.</p>
<p>Ora, però, concentriamoci sulla prima parte. Buon tutorial a tutti!</p>
<p><span id="more-4570"></span></p>
<h3 style="text-align: center;"><em><a href="http://www.devapp.it/wordpress/t059-creiamo-unapplicazione-per-iphone-in-stile-brushes.html">Leggi il tutorial completo su devAPP</a></em></h3>
]]></content:encoded>
			<wfw:commentRss>http://www.bubidevs.net/2010/03/05/devtutorial-25-creiamo-il-nostro-brushes-personale-parte-1/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>DevTutorial # 24 &#8211; Controllare le connessioni disponibili</title>
		<link>http://www.bubidevs.net/2010/02/23/devtutorial-24-controllare-le-connessioni-disponibili/</link>
		<comments>http://www.bubidevs.net/2010/02/23/devtutorial-24-controllare-le-connessioni-disponibili/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 09:00:34 +0000</pubDate>
		<dc:creator>Andrea Busi</dc:creator>
				<category><![CDATA[DevTutorial]]></category>
		<category><![CDATA[iPhone SDK]]></category>
		<category><![CDATA[3G]]></category>
		<category><![CDATA[connessioni]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[Reachibility]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[WiFi]]></category>

		<guid isPermaLink="false">http://www.bubidevs.net/?p=4477</guid>
		<description><![CDATA[Eccoci con un nuovo tutorial dedicato alla programmazione per iPhone SDK. In questo appuntamento vedremo come controllare le connessioni disponibili nel nostro dispositivo, operazione molto importante in tutte le applicazioni che devono accedere, per qualsiasi motivo, alla rete. Vedremo come utilizzare la classe &#8220;Reachability&#8221; (messa a disposizione da Apple), per testare se è attiva una...]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.bubidevs.net/iphone-sdk/devtutorial/"><img class="alignnone" src="http://www.bubidevs.net/Immagini/Logo-DevTutorial.png" alt="" width="490" height="200" /></a></p>
<p>Eccoci con un nuovo tutorial dedicato alla programmazione per iPhone SDK.</p>
<p>In questo appuntamento vedremo come controllare le connessioni disponibili nel nostro dispositivo, operazione molto importante in tutte le applicazioni che devono accedere, per qualsiasi motivo, alla rete.</p>
<p>Vedremo come utilizzare la classe &#8220;<strong>Reachability</strong>&#8221; (messa a disposizione da Apple), per testare se è attiva una connessione WiFi o 3G. Piccola nota, in questo tutorial parleremo sempre di connessione 3G, sarebbe più corretto parlare di connessione dati (potrebbe essere anche una semplice connessione EDGE), ma per semplicità utilizzeremo sempre la dicitura 3G.</p>
<p>Buon tutorial a tutti allora!</p>
<p><span id="more-4477"></span></p>
<h3 style="text-align: center;"><em><a href="http://www.devapp.it/wordpress/t070-controllare-le-connessioni-disponibili-nelle-nostre-applicazioni-iphone.html">Leggi il tutorial completo su devAPP</a></em></h3>
]]></content:encoded>
			<wfw:commentRss>http://www.bubidevs.net/2010/02/23/devtutorial-24-controllare-le-connessioni-disponibili/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>[Guida] Come creare applicazioni per la distribuzione &#8220;ad-hoc&#8221;</title>
		<link>http://www.bubidevs.net/2010/02/16/guida-come-creare-applicazioni-per-la-distribuzione-ad-hoc/</link>
		<comments>http://www.bubidevs.net/2010/02/16/guida-come-creare-applicazioni-per-la-distribuzione-ad-hoc/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 20:05:51 +0000</pubDate>
		<dc:creator>Andrea Busi</dc:creator>
				<category><![CDATA[Guide iOS SDK]]></category>
		<category><![CDATA[ad-hoc]]></category>
		<category><![CDATA[applicazioni]]></category>
		<category><![CDATA[AppStore]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[distribuzione]]></category>
		<category><![CDATA[iPhone Developer Program]]></category>
		<category><![CDATA[iPhone SDK]]></category>

		<guid isPermaLink="false">http://www.bubidevs.net/?p=4335</guid>
		<description><![CDATA[Uno dei passaggi chiave nella creazione di applicazioni per iPhone (e non solo) è il testing. Arrivati quasi alla fine dello sviluppo, infatti, sorge la necessità di testare a fondo la nostra applicazione, per scoprirne bug o testarne le funzionalità. Spesso sorge anche la necessità di inviare l&#8217;applicazione &#8220;beta&#8221; ad altre persone, magari ad alcuni...]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/02/banner.png"><img class="alignnone size-full wp-image-4354" title="banner" src="http://www.bubidevs.net/wp-content/uploads/2010/02/banner.png" alt="" width="550" height="150" /></a></p>
<p>Uno dei passaggi chiave nella creazione di applicazioni per iPhone (e non solo) è il testing. Arrivati quasi alla fine dello sviluppo, infatti, sorge la necessità di testare a fondo la nostra applicazione, per scoprirne bug o testarne le funzionalità.</p>
<p>Spesso sorge anche la necessità di inviare l&#8217;applicazione &#8220;beta&#8221; ad altre persone, magari ad alcuni beta tester. Come fare, quindi, a distribuire l&#8217;applicazione ad altre persone?</p>
<p>Eccovi una guida passo-passo, che vi spiegherà come creare una versione ad-hoc della vostra applicazione, in modo che possiate distribuirla ad altre persone.</p>
<p><span style="color: #ff0000;"><strong>Nota:</strong></span> per seguire questa guida è necessario essere iscritti all&#8217;<strong>iPhone Developer Program</strong>, quindi chi non ha la licenza da sviluppatore non potrà fare ciò che viene spiegato di seguito.</p>
<p><span id="more-4335"></span></p>
<h1>1. Creiamo i certificati necessari</h1>
<p>La prima cosa da fare è creare i certificati necessari. Andiamo nel nostro <strong>&#8220;iPhone Developer Program Portal&#8221;</strong> (dopo esserci loggati nel sito <a href="http://developer.apple.com/iphone/index.action">iPhone Dev Center</a>) e nella sezione &#8220;<em>Certificates</em>&#8221; creiamo un certificato per la distribuzione:</p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-20.12.22.png"><img class="alignnone size-large wp-image-4336" title="Schermata 2010-02-09 a 20.12.22" src="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-20.12.22-499x144.png" alt="" width="499" height="144" /></a></p>
<p>Spostiamoci, poi, in &#8220;<em>Provisioning</em>&#8221; e creiamo un profilo che includerà gli UUID dei dispositivi a cui vogliamo inviare la nostra applicazione (trovate <a href="http://www.bubidevs.net/2009/09/16/trovare-ludid-del-vostro-dispositivo/">qui una guida</a> su come ricavare l&#8217;UUID di un iPhone / iPod Touch). Anche in questo caso dobbiamo creare un profilo per la distribuzione:</p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-20.13.59.png"><img class="alignnone size-large wp-image-4337" title="Schermata 2010-02-09 a 20.13.59" src="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-20.13.59-500x156.png" alt="" width="500" height="156" /></a></p>
<p>Dopo aver creato entrambi i certificati, scarichiamoli nel nostro Mac e trasciniamoli in XCode. Se andiamo ora nell&#8217;Organizer (&#8220;Window -&gt; Organizer&#8221;) dovremo vedere che il nuovo profilo è stato aggiunto:</p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-20.16.17.png"><img class="alignnone size-large wp-image-4338" title="Schermata 2010-02-09 a 20.16.17" src="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-20.16.17-500x352.png" alt="" width="500" height="352" /></a></p>
<p>Assicuratevi che non ci sia nessun messaggio di errore o di warning, altrimenti potreste avere problemi nei passaggi successivi.</p>
<h1>2. Impostiamo i settaggi necessari</h1>
<p>Dobbiamo, ora, impostare vari parametri nelle proprietà della nostra applicazione.</p>
<p>Entriamo nelle proprietà del nostro progetto, e spostiamoci subito nella sezione &#8220;Configurations&#8221;. Qui duplichiamo il profilo &#8220;Release&#8221; e rinominiamolo in &#8220;Distribution&#8221;.</p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-20.20.04.png"><img class="alignnone size-large wp-image-4339" title="Schermata 2010-02-09 a 20.20.04" src="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-20.20.04-500x530.png" alt="" width="500" height="530" /></a></p>
<p>Spostiamoci in &#8220;Build&#8221; e dal menù a tendina &#8220;Configuration&#8221; scegliamo la voce &#8220;Distribution&#8221; (quella che abbiamo appena creato).</p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-20.25.08.png"><img class="alignnone size-large wp-image-4340" title="Schermata-2010-02-09-a-20.25.08" src="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-20.25.08-500x530.png" alt="" width="500" height="530" /></a></p>
<p>Scendiamo poi fino alla sezione &#8220;CodeSigning&#8221; e nella voce &#8220;Code Signing Identity&#8221; assicuriamoci che sia selezionato &#8220;Any iPhone OS Device&#8221; e dal menù a tendina selezioniamo il certificato che abbiamo in precedenza caricato (quello per la distribuzione ad hoc).</p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-23.24.25.png"><img class="alignnone size-large wp-image-4342" title="Schermata-2010-02-09-a-23.24.25" src="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-23.24.25-500x517.png" alt="" width="500" height="517" /></a></p>
<p>È indispensabile selezionare il certificato corretto, altrimenti quando andrete a distribuire la vostra applicazione chi la riceve non riuscirà a sincronizzarla correttamente.</p>
<p>Usciamo dalle proprietà e creiamo un nuovo file all&#8217;interno del nostro progetto (&#8220;File -&gt; New file&#8230;&#8221;). Dalla sezione &#8220;Code Signing&#8221; selezioniamo &#8220;Entitlements&#8221; come tipo di file e chiamiamolo &#8220;Entlitements.plist&#8221;.</p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-23.29.37.png"><img class="alignnone size-large wp-image-4343" title="Schermata 2010-02-09 a 23.29.37" src="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-23.29.37-500x415.png" alt="" width="500" height="415" /></a></p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-23.30.52.png"><img class="alignnone size-large wp-image-4344" title="Schermata 2010-02-09 a 23.30.52" src="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-23.30.52-500x415.png" alt="" width="500" height="415" /></a></p>
<p>Selezioniamo dal progetto il file che abbiamo appena creato e togliamo la spunta alla voce &#8220;get-task-allow&#8221; che troviamo al suo interno.</p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-23.33.29.png"><img class="alignnone size-large wp-image-4346" title="Schermata 2010-02-09 a 23.33.29" src="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-23.33.29-500x322.png" alt="" width="500" height="322" /></a></p>
<p>Torniamo nelle proprietà del progetto e nella voce &#8220;Code Signing Entitlements&#8221; inseriamo i valore &#8220;Entitlements.plist&#8221; (ovvero il nome del file che abbiamo appena creato.</p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-23.35.57.png"><img class="alignnone size-large wp-image-4347" title="Schermata 2010-02-09 a 23.35.57" src="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-23.35.57-500x530.png" alt="" width="500" height="530" /></a></p>
<p>Abbiamo quasi concluso. Usciamo dalle proprietà e prima di compilare l&#8217;applicazione assicuriamoci di selezionare &#8220;Device&#8221; e &#8220;Distribution&#8221; nella configurazione della compilazione:</p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-23.37.41.png"><img class="alignnone size-large wp-image-4348" title="Schermata-2010-02-09-a-23.37.41" src="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-23.37.41-500x322.png" alt="" width="500" height="322" /></a></p>
<p>Siamo pronti per compilare!</p>
<h1>3. Compiliamo e distribuiamo l&#8217;applicazione</h1>
<p>Dal menù &#8220;Build&#8221; selezioniamo &#8220;Build&#8221;, avremo così compilato al nostra applicazione, che potremo distribuire!</p>
<p>Per ricavare l&#8217;eseguibile da distribuire ci basterà fare clic con il tasto destro sul file &#8220;.app&#8221; che apparirà nella cartella &#8220;Products&#8221; del nostro progetto, e selezionare poi &#8220;Reveal in Finder&#8221;</p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-23.41.33.png"><img class="alignnone size-large wp-image-4349" title="Schermata-2010-02-09-a-23.41.33" src="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-23.41.33-500x348.png" alt="" width="500" height="348" /></a></p>
<p>Ricordatevi, infine, che quando passate ai vostri tester l&#8217;applicazione dovete anche inviargli il certificato &#8220;*.mobileprovision&#8221;, indispensabile perchè possano sincronizzare l&#8217;applicazione con iTunes.</p>
<p style="text-align: center;"><a href="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-23.43.56.png"><img class="alignnone size-large wp-image-4350" title="Schermata 2010-02-09 a 23.43.56" src="http://www.bubidevs.net/wp-content/uploads/2010/02/Schermata-2010-02-09-a-23.43.56-500x305.png" alt="" width="500" height="305" /></a></p>
<p style="text-align: left;">Se notate degli errori o delle imperfezioni segnalatemele nei commenti!</p>
<p style="text-align: right;"><em><br />
</em></p>
<p style="text-align: right;"><em>La guida è stata scritta e testata da Andrea Busi per <a href="http://www.bubidevs.net">BubiDevs</a>, partendo dalla <a href="http://developer.apple.com/iphone/manage/distribution/index.action">documentazione ufficiale Apple</a>. </em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bubidevs.net/2010/02/16/guida-come-creare-applicazioni-per-la-distribuzione-ad-hoc/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
	</channel>
</rss>

