<?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>Out Of Memory &#187; iPhone</title>
	<atom:link href="http://www.outofmemory.blog.br/category/iphone/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.outofmemory.blog.br</link>
	<description>Blog sobre tecnologia, seriados, esportes, jogos e coisas nerds</description>
	<lastBuildDate>Wed, 23 Jun 2010 14:18:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Apple anuncia WWDC 2010</title>
		<link>http://www.outofmemory.blog.br/2010/04/29/apple-anuncia-wwdc-2010/</link>
		<comments>http://www.outofmemory.blog.br/2010/04/29/apple-anuncia-wwdc-2010/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 13:24:23 +0000</pubDate>
		<dc:creator>Alex Chiaranda</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[ipod touch]]></category>
		<category><![CDATA[wwdc]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=414</guid>
		<description><![CDATA[A Apple finalmente anunciou a data e local do evento mais esperado pelos MacManíacos do mundo, o WWDC (WorldWide Developers Conference) de 2010 será (como de costume) em San Francisco, no Moscone West, nos dias 7-11 de Junho.
Quem tiver 1600 dollares disponíveis para inscrição mais despesas de hospedagem e passagem aérea, pode ver mais detalhes [...]]]></description>
			<content:encoded><![CDATA[<p>A Apple finalmente anunciou a data e local do evento mais esperado pelos MacManíacos do mundo, o WWDC (WorldWide Developers Conference) de 2010 será (como de costume) em San Francisco, no Moscone West, nos dias 7-11 de Junho.</p>
<p>Quem tiver 1600 dollares disponíveis para inscrição mais despesas de hospedagem e passagem aérea, pode ver mais detalhes de como se cadastrar no <a title="WWDC 2010" href="http://developer.apple.com/wwdc/" target="_blank">site do evento</a>.</p>
<p>Eu infelizmente vou ter que deixar para o ano que vem (de novo).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2010/04/29/apple-anuncia-wwdc-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introdução ao Objective-C &#8211; Synthesized Accessor</title>
		<link>http://www.outofmemory.blog.br/2010/04/29/introducao-ao-objective-c-synthesized-accessor/</link>
		<comments>http://www.outofmemory.blog.br/2010/04/29/introducao-ao-objective-c-synthesized-accessor/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 03:03:02 +0000</pubDate>
		<dc:creator>Alex Chiaranda</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[accessor]]></category>
		<category><![CDATA[getter]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[memória]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[setter]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=396</guid>
		<description><![CDATA[Quem programa utilizando Orientação a Objetos sabe bem a importância de criar os atributos de uma classe como private e criar os &#8220;Accessors&#8221; para alterar ou recuperar os valores desses atributos; o Objective-C 2.0 disponibiliza uma maneira muito simples e prática para isso, os &#8220;Synthesized Accessor Methods&#8220;.

Quando estamos falando de mobile devices (iPhone/iPad) deve-se levar [...]]]></description>
			<content:encoded><![CDATA[<p>Quem programa utilizando Orientação a Objetos sabe bem a importância de criar os atributos de uma classe como private e criar os &#8220;<strong>Accessors</strong>&#8221; para alterar ou recuperar os valores desses atributos; o Objective-C 2.0 disponibiliza uma maneira muito simples e prática para isso, os &#8220;<strong>Synthesized Accessor Methods</strong>&#8220;.<br />
<span id="more-396"></span><br />
Quando estamos falando de mobile devices (iPhone/iPad) deve-se levar em conta o consumo de memória, e pensando nisso um bom accessor para um atributo <strong>nome</strong> seria mais ou menos assim:</p>
<pre class="brush: cpp;">
- (void) setNome: (NSString *) _nome
{
   [nome release];
   nome = [[NSString alloc] initWithString: _nome];
}

- (NSString *) nome
{
   return nome;
}
</pre>
<p>antes de fazer o set do novo valor, o valor antigo é liberado da memória evitando &#8220;<strong>vazamentos</strong>&#8221; indesejáveis.</p>
<p>Para que o compilador realize essa tarefa, nos poupando muito trabalho, primeiro você declara o atributo utilizando a diretiva &#8220;<strong>@property</strong>&#8221; na sua interface, e depois na implementação da classe utilizar a diretiva &#8220;<strong>@synthesize</strong>&#8220;. Desse modo o compilador vai gerar automaticamente o &#8220;<strong>getter</strong>&#8221; e o &#8220;<strong>setter</strong>&#8221; do seu atributo.</p>
<p>Nada melhor que um exemplo, vamos começar com a interface &#8220;MyClass1.h&#8221;:</p>
<pre class="brush: cpp;">
#import  &lt;Foundation/Foundation.h&gt;

@interface MyClass1 : NSObject
{
   int aInt;
   NSString *nome;
}

@property int aInt;
@property (copy, nonatomic) NSString *nome;

@end
</pre>
<p>a diretiva &#8220;<strong>@property</strong>&#8221; aceita alguns parâmentros para informar ao compilador como criar o &#8220;<strong>Accessor</strong>&#8220;, no nosso caso queremos que seja feita uma cópia no setter do atributo (como no exemplo acima), então usamos o parâmetro &#8220;<strong>copy</strong>&#8220;, e ainda o &#8220;<strong>nonatomic</strong>&#8221; pois não queremos que o getter faça um &#8220;<strong>retain</strong>&#8221; ou um &#8220;<strong>autorelease</strong>&#8221; antes que ele retorne o valor do atributo (mais sobre o &#8220;<strong>retain</strong>&#8221; e o &#8220;<strong>autorelease</strong>&#8221; nos próximos artigos).</p>
<p>agora o &#8220;MyClass1.m&#8221;:</p>
<pre class="brush: cpp;">
#import &quot;MyClass1.h&quot;

@implementation MyClass1

@synthesize aInt;
@synthesize nome;

@end
</pre>
<p>não está faltando código, é só isso mesmo.</p>
<p>e finalmente um programa que faz a chamada:</p>
<pre class="brush: cpp;">
#import &lt;Foundation/Foundation.h&gt;
#import &quot;MyClass1.h&quot;

int main (int argc, const char * argv[])
{
   NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

   MyClass1 * m = [[MyClass1 alloc] init];

   [m setAInt: 5];
   NSLog(@&quot;Valor eh: %i&quot;, [m aInt]);

   [m setNome: @&quot;Alex&quot;];
   NSLog(@&quot;Nome eh: %s&quot;, [[m nome] UTF8String]);

   [m release];
   [pool drain];
   return 0;
}
</pre>
<p>você deve ter notado, que nas chamadas eu utilizei &#8220;<strong>setAInt</strong>&#8221; e &#8220;<strong>setNome</strong>&#8221; para setar os valores e &#8220;<strong>aInt</strong>&#8221; e &#8220;<strong>nome</strong>&#8221; para recuperar os valores, o &#8220;<strong>@synthesize</strong>&#8221; criou esses métodos na hora da compilação, mas se você utiliza o XCode, ficará surpreso em saber que ele oferece no auto-complete esses métodos.</p>
<p>após compilar e rodar a saída que obtive foi essa:</p>
<pre class="brush: plain;">
2010-04-28 23:24:13.552 acessor[1217:a0f] Valor eh: 5
2010-04-28 23:24:13.554 acessor[1217:a0f] Nome eh: Alex
</pre>
<p>Até o próximo artigo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2010/04/29/introducao-ao-objective-c-synthesized-accessor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introdução ao Objective-C &#8211; parte 2 (classes)</title>
		<link>http://www.outofmemory.blog.br/2010/01/05/introducao-ao-objective-c-parte-2-classes/</link>
		<comments>http://www.outofmemory.blog.br/2010/01/05/introducao-ao-objective-c-parte-2-classes/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 00:06:09 +0000</pubDate>
		<dc:creator>Alex Chiaranda</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=359</guid>
		<description><![CDATA[Agora que você já teve o primeiro contato com a linguagem (no post anterior), vamos ver como declarar classes, métodos e propriedades.
Em Objective-C usa-se a seguinte nomenclatura para os arquivos:

arquivo.h &#8211; header
arquivo.m &#8211; arquivo que pode conter tanto código Objective-C como C

Para esse tutorial eu usarei o XCode (falarei mais sobre ele depois), mas qualquer [...]]]></description>
			<content:encoded><![CDATA[<p>Agora que você já teve o primeiro contato com a linguagem (<a href="http://www.outofmemory.blog.br/2009/10/19/introducao-ao-objective-c-parte-1/" target="_blank">no post anterior</a>), vamos ver como declarar classes, métodos e propriedades.</p>
<p>Em Objective-C usa-se a seguinte nomenclatura para os arquivos:</p>
<ul>
<li>arquivo.h &#8211; header</li>
<li>arquivo.m &#8211; arquivo que pode conter tanto código Objective-C como C</li>
</ul>
<p>Para esse tutorial eu usarei o XCode (falarei mais sobre ele depois), mas qualquer editor de texto serve para editar os arquivos, e o GCC cria os executáveis. Neste código específico, usarei o &#8220;<strong>vi</strong>&#8221; e o compilador &#8220;<strong>gcc</strong>&#8221; apenas para exemplificar como proceder neste caso.</p>
<p><span id="more-359"></span>Vamos agora para a nossa primeira classe, vou chama-la de &#8220;MyFirstClass.m&#8221;, para este exemplo, vou digitar todo o código no mesmo arquivo:</p>
<pre class="brush: cpp;">
#import &lt;Foundation/Foundation.h&gt;

@interface MyFirstClass : NSObject
{
   int aInt;
}

-(int) aInt;
-(void) setAInt: (int) _aInt;

-(void) print;

@end

@implementation MyFirstClass
-(void) print
{
   NSLog(@&quot;Número informado é: %i&quot;, aInt);
}

-(void) setAInt: (int) _aInt
{
   aInt = _aInt;
}

-(int) aInt
{
   return aInt;
}
@end

int main(int argc, const char *argv[])
{
   NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
   MyFirstClass *m = [[MyFirstClass alloc] init];

   [m setAInt: 5];
   [m print];

   [m release];
   [pool drain];

   return ( 0 );
}
</pre>
<p>Para compilar um programa usando o GCC em qualquer plataforma suportada, basta digitar o seguinte:</p>
<pre class="brush: cpp;">gcc -framework Foundation MyFirstClass.m -o MyFirstClass</pre>
<p>se não houve nenhum erro o executável &#8220;MyFirstClass&#8221; será criado, e quando executado exibirá a seguinte saída:</p>
<pre class="brush: plain;">
Alex-Chiarandas-MacBook-Pro:trainning aechiara$ ./MyFirstClass
2010-01-05 22:02:15.169 MyFirstClass[380:903] Número informado é: 5
Alex-Chiarandas-MacBook-Pro:trainning aechiara$
</pre>
<p>Divirta-se alterando o código para exibir outras mensagens ou realizar somas por exemplo. O NSLog se comporta como o &#8220;printf&#8221; do C.</p>
<p>Até o próximo artigo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2010/01/05/introducao-ao-objective-c-parte-2-classes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introdução ao Objective-C &#8211; parte 1</title>
		<link>http://www.outofmemory.blog.br/2009/10/19/introducao-ao-objective-c-parte-1/</link>
		<comments>http://www.outofmemory.blog.br/2009/10/19/introducao-ao-objective-c-parte-1/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 19:06:50 +0000</pubDate>
		<dc:creator>Alex Chiaranda</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[objective-c]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=325</guid>
		<description><![CDATA[Se você pretende desenvolver para MacOS e/ou iPhone, você deve ter levado em consideração aprender a programar em Objective-C. A boa notícia (talvez não para todos) é que Objective-C é muito parecida com C/C++ e Java, o que com certeza agiliza o aprendizado.
Não é o objetivo desse artigo, contar como ou porque a linguagem surgiu, [...]]]></description>
			<content:encoded><![CDATA[<p>Se você pretende desenvolver para MacOS e/ou iPhone, você deve ter levado em consideração aprender a programar em Objective-C. A boa notícia (talvez não para todos) é que Objective-C é muito parecida com C/C++ e Java, o que com certeza agiliza o aprendizado.</p>
<p>Não é o objetivo desse artigo, contar como ou porque a linguagem surgiu, mas se quiser informações a respeito, a página do Objective-C no <a title="Objective-C" href="http://en.wikipedia.org/wiki/Objective-C" target="_blank">Wikipedia</a> é um bom lugar para começar.</p>
<p><span id="more-325"></span><br />
Vamos começar mostrando como se invoca um método. Na verdade, em Objective-C um método não é invocado, o que acontece é que você envia uma &#8220;mensagem&#8221; para um objeto,  e ele se encarrega de responder de maneira apropriada (mais sobre isso nos próximos artigos).</p>
<p>em Java:</p>
<pre class="brush: java;">
user.doSomething();
user.setName(&quot;Alex&quot;);
</pre>
<p>em C:</p>
<pre class="brush: cpp;">
doSomething();
setName(&quot;Alex&quot;);
</pre>
<p>em Objective-C:</p>
<pre class="brush: cpp;">
[user doSomething];
[user setName:@&quot;Alex&quot;];
</pre>
<p>Como podem ver, apesar da sintaxe ser um pouco diferente, a chamada é bem intuitiva, a diferença é que ao invés de se chamar &#8220;objeto.metodo&#8221; (que também é suportado), usa-se a chamada entre colchetes com espaço &#8220;[objeto metodo:parametro]&#8220;.</p>
<p>Se para &#8220;enviar uma mensagem&#8221; para um objeto é um pouco diferente, associar o retorno é tão simples quanto nas outras linguagens:</p>
<p>Em &#8220;C++&#8221; seria algo assim:</p>
<pre class="brush: cpp;">
string name = user.getNome();
</pre>
<p>Em &#8220;Objective-C&#8221;:</p>
<pre class="brush: cpp;">
NSString *name = [NSString string];
name = [user nome];
[name release];
</pre>
<p>No exemplo acima, a string &#8220;nome&#8221; é alocada, o valor contido na proprieda &#8220;nome&#8221; do objeto &#8220;user&#8221; é associado a nossa string e então nossa string é desalocada.</p>
<p>Bom, agora que já fizemos o primeiro contato com a linguagem, no próximo artigo veremos como declarar e implementar classes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2009/10/19/introducao-ao-objective-c-parte-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jailbreak e Unlock para iPhone 3GS</title>
		<link>http://www.outofmemory.blog.br/2009/06/26/jailbreak-e-unlock-para-iphone-3gs/</link>
		<comments>http://www.outofmemory.blog.br/2009/06/26/jailbreak-e-unlock-para-iphone-3gs/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 15:19:52 +0000</pubDate>
		<dc:creator>Alex Chiaranda</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[2G]]></category>
		<category><![CDATA[3G]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[devteam]]></category>
		<category><![CDATA[geohot]]></category>
		<category><![CDATA[iphone 3gs]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[jailbreak]]></category>
		<category><![CDATA[ultrasn0w]]></category>
		<category><![CDATA[unlock]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=314</guid>
		<description><![CDATA[Pouco menos de 1 semana após o lançamento oficial do novo aparelho da Apple, a equipe Dev-Team (responsável pelas ferramentas mais populares de desbloqueio do iPhone 2G e 3G hoje) anunciaram com a ajuda do hacker Geohot ser possível realizar o jailbreak e o unlock no novo aparelho.
O post oficial do Dev-Team pode ser lido [...]]]></description>
			<content:encoded><![CDATA[<p>Pouco menos de 1 semana após o lançamento oficial do novo aparelho da <a title="Apple" href="http://www.apple.com" target="_blank">Apple</a>, a equipe <a title="Dev Team" href="http://blog.iphone-dev.org/" target="_blank">Dev-Team</a> (responsável pelas ferramentas mais populares de desbloqueio do iPhone 2G e 3G hoje) anunciaram com a ajuda do hacker <a title="Geohot" href="http://iphonejtag.blogspot.com/2009/06/and-so-it-shall-be-pwned-for-life.html" target="_blank">Geohot</a> ser possível realizar o jailbreak e o unlock no novo aparelho.</p>
<p>O post oficial do Dev-Team pode ser lido <a title="Jailbreak e Unlock para iPhone 3GS" href="http://blog.iphone-dev.org/post/130456145/24kpwn-lives-on-in-the-iphone-3gs" target="_blank">aqui</a>.</p>
<p>Fonte: <a title="Blog do iPhone" href="http://www.blogdoiphone.com" target="_blank">Blog do iPhone</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2009/06/26/jailbreak-e-unlock-para-iphone-3gs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple WWDC 2009</title>
		<link>http://www.outofmemory.blog.br/2009/06/08/apple-wwdc-2009/</link>
		<comments>http://www.outofmemory.blog.br/2009/06/08/apple-wwdc-2009/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 14:32:43 +0000</pubDate>
		<dc:creator>Alex Chiaranda</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[steve jobs]]></category>
		<category><![CDATA[wwdc]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=304</guid>
		<description><![CDATA[Teve início hoje (dia 08/06/2009) mais uma WWDC 2009 (Apple World Wide Developer Conference).
A edição deste ano está sendo aguardada com muita expectativa, pois muito se especula sobre o lançamento de novas versões do iPhone e outros produtos da Apple.
Alguns ainda diziam que este evento marcaria a volta de Steve Jobs após afastamento por problemas [...]]]></description>
			<content:encoded><![CDATA[<p>Teve início hoje (dia 08/06/2009) mais uma <a title="WWDC 2009" href="http://developer.apple.com/WWDC/" target="_blank">WWDC 2009</a> (Apple World Wide Developer Conference).</p>
<p>A edição deste ano está sendo aguardada com muita expectativa, pois muito se especula sobre o lançamento de novas versões do iPhone e outros produtos da Apple.</p>
<p>Alguns ainda diziam que este evento marcaria a volta de Steve Jobs após afastamento por problemas de saúde, vamos esperar para ver.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2009/06/08/apple-wwdc-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Desenvolvendo aplicativos para iPhone, preparando o ambiente</title>
		<link>http://www.outofmemory.blog.br/2009/04/13/desenvolvendo-aplicativos-para-iphone-preparando-o-ambiente/</link>
		<comments>http://www.outofmemory.blog.br/2009/04/13/desenvolvendo-aplicativos-para-iphone-preparando-o-ambiente/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 15:22:59 +0000</pubDate>
		<dc:creator>Alex Chiaranda</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[aplicativos]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[Connections]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[firmware]]></category>
		<category><![CDATA[ipod touch]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=289</guid>
		<description><![CDATA[No artigo que publiquei anteriormente aqui fiz uma breve introdução ao iPhone e iPod Touch e como eles chegaram trazendo todo um novo mundo de possibilidades para desenvolvedores e usuários. No momento em que estava escrevendo este artigo a Apple anunciava a versão 3.0 do firmware para iPhone (overview aqui) que traz algumas novidades interessantes [...]]]></description>
			<content:encoded><![CDATA[<p>No artigo que publiquei anteriormente <a title="Desenvolvendo aplicativos para iPhone" href="http://www.outofmemory.blog.br/2009/04/06/desenvolvendo-aplicativos-para-iphone/" target="_blank">aqui</a> fiz uma breve introdução ao iPhone e iPod Touch e como eles chegaram trazendo todo um novo mundo de possibilidades para desenvolvedores e usuários. No momento em que estava escrevendo este artigo a Apple anunciava a versão 3.0 do firmware para iPhone (overview <a title="Overview novo firmware da Apple" href="http://www.apple.com/iphone/preview-iphone-os/" target="_blank">aqui</a>) que traz algumas novidades interessantes para os usuários, dentre elas:</p>
<blockquote>
<ul>
<li>Search your iPhone</li>
<li>Cut, copy, and paste</li>
<li>Send photos, contacts, audio files, and location via MMS (iPhone 3G only)</li>
<li>Read and compose e-mail and text messages in landscape</li>
</ul>
</blockquote>
<p>Para os desenvolvedores, algumas features novas também se destacam, entre elas:</p>
<blockquote>
<ul>
<li>in-app purchases — like subscriptions, additional game levels, and new content.</li>
<li>They can also create apps that connect peer to peer via Bluetooth, communicate with hardware accessories</li>
<li>use the Apple Push Notification service to provide alerts.</li>
</ul>
<p>Falarei dessas features com mais detalhes mais tarde.</p></blockquote>
<p>Pois bem, agora você está empolgado, e gostaria de fazer o seu primeiro software para iPhone, e está se perguntando por onde começar. Abaixo eu listo os passos básicos que você deve seguir para iniciar seu desenvolvimento:</p>
<ol>
<li>se você ainda não possui um iPhone/iPod Touch, eu (e a Apple) recomendamos que você se prepare para adquirir um. O emulador é bem fiel ao device, mas todo o software deve ser testado no aparelho antes de submetido à Apple para aprovação;</li>
<li>se ainda não possuir, compre um Apple Intel Based, não pode ser os da linha PowerPC; (read me do SDK <a title="Readme SDK iPhone" href="http://developer.apple.com/iphone/download.action?path=/iphone/iphone_sdk_for_iphone_os_2.2.1__9m2621a__final/iphone_sdk_for_iphone_os_2.2.1readmefinal.pdf" target="_self">aqui</a>, precisa ser cadastrado para visualizar o arquivo)</li>
<li>vá até o iPhone Developer Center da Apple (clicando <a title="iPhone Developer Center" href="http://developer.apple.com/iphone/" target="_blank">aqui</a>) e cadastre-se. Isso já dará acesso ao download do XCode (IDE para desenvolvimento) e à vários vídeos e exemplos de código. Se você chegou até aqui, já consegue fazer e testar seus aplicativos com o XCode, mas se quer vender suas aplicações, precisa seguir adiante;</li>
<li>agora você precisa pagar a taxa (anual) de 99 obamas (U$ 99.00) para a Apple, esse valor é cobrado para que você faça parte do &#8220;<strong>iPhone Developer Program&#8221;</strong> e possa publicar suas aplicações (se aprovadas pela Apple) na AppStore. Após realizar este processo, você receberá um email da Apple, parabenizando você por fazer parte do &#8220;iPhone Developer Program&#8221;, e sua chave para ativação. Se sua aplicação será usada em vários aparelhos em uma empresa, existe outro tipo de assinatura chamada &#8220;<strong>Enterprise</strong>&#8221; e o valor é de 299 obamas (U$ 299.00) que além do que é oferecido pela versão &#8220;single developer&#8221; ainda disponibiliza uma nova feature para o iTunes conseguir fazer deploy da aplicação nos vários aparelhos da sua empresa.</li>
</ol>
<p>Feito isso, é só pegar o livro de Objective C, ler os tutoriais do site da Apple e fazer a sua aplicação. No próximo posts, veremos o XCode e como fazer um Hello World !!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2009/04/13/desenvolvendo-aplicativos-para-iphone-preparando-o-ambiente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Desenvolvendo aplicativos para iPhone</title>
		<link>http://www.outofmemory.blog.br/2009/04/06/desenvolvendo-aplicativos-para-iphone/</link>
		<comments>http://www.outofmemory.blog.br/2009/04/06/desenvolvendo-aplicativos-para-iphone/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 17:26:38 +0000</pubDate>
		<dc:creator>Alex Chiaranda</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[aplicativos]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[bibliotecas]]></category>
		<category><![CDATA[celulares]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[ipod touch]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[telefonia móvel]]></category>
		<category><![CDATA[tutoriais]]></category>

		<guid isPermaLink="false">http://www.outofmemory.blog.br/?p=285</guid>
		<description><![CDATA[Todos conhecem a Apple por sempre tentar inovar e quebrar os padrões existentes fornecendo uma experiência nova e agradável para o usuário final. O lançamento do iPhone agitou o mundo da telefonia trazendo um aparelho elegante, com funcionalidades inovadoras , mudando para sempre o conceito de aparelhos móveis e reaquecendo um mercado que estava carente [...]]]></description>
			<content:encoded><![CDATA[<p>Todos conhecem<strong> a Apple por sempre tentar inovar e quebrar os padrões existentes fornecendo uma experiência nova e agradável</strong> para o usuário final. O lançamento do <a title="Funcionalidades do Apple Iphone" href="http://www.apple.com/br/iphone/features/">iPhone</a> agitou o mundo da telefonia trazendo um aparelho elegante, com <a title="Funcionalidades do Apple Iphone, em inglês" href="http://www.apple.com/iphone/features/">funcionalidades inovadoras</a> , mudando para sempre o conceito de aparelhos móveis e reaquecendo um mercado que estava carente de novidades, pois os fabricantes líderes estavam acomodados com as poucas “inovações” que seus lançamentos apresentavam.</p>
<p><a title="Especificações do Apple Iphone" href="http://www.apple.com/br/iphone/specs.html"><img class="size-full alignleft" src="http://tec.brq.com/wp-content/uploads/specs_dimensions_iphone_1.jpg" alt="Apple iPhone especificações de tamanho" width="260" height="264" /></a><br />
O <em>iPhone</em> (e posteriormente o<em> iPod Touch</em>) chegaram gerando uma movimentação em usuários, blogs, fóruns e comunidades de uma forma que eu não via a muito tempo,  pois, <strong><a title="Especificação do iPhone" href="http://www.apple.com/iphone/specs.html">além de um excelente hardware</a>, trazia um design moderno</strong>:  era fino (aproximadamente 12 milímetros), tinha um display grande (aproximadamente 62 milímetros de largura por aproximadamente 115 milímetros de altura), pesava impressionantes 90 gramas, câmera de 2 megapixels e contava com wi-fi, bluetooth. Além disso, foi lançado em duas versões, com HD interno de 4GB (já extinta), e a popular versão com 8GB. Todos os concorrentes se apressaram em apontar a impossibilidade de aumentar a capacidade de armazenamento, por se tratar de um HD interno, mas isso não chegou a ser uma ameça ao sucesso do aparelho.</p>
<p>Porém,  passado o calor do lançamento, logo os felizes <strong>donos do novo aparelho estavam famintos por aplicativos que utilizassem todo o seu potencial</strong>. Para atender essa demanda, a Apple não tardou a lançar o <a href="http://developer.apple.com/iphone/">iPhone Dev Center</a>, voltado ao desenvolvimento para iPhone e iPod Touch e que incluiu <a title="Apple prepara iPhone para empresas e lança kit de desenvolvimento, no Futuro.vc" href="http://futuro.vc/2008/03/07/apple-prepara-iphone-para-empresas-e-lanca-kit-de-desenvolvimento/">o lançamento de um kit de desenvolvimento</a> (<abbr title="Software Development Kit">SDK</abbr> &#8211; <em>Software Development Kit</em>), vídeos, tutoriais, bibliotecas e códigos de exemplo.</p>
<p>Mas nem tudo são flores:  a <abbr title="End User License Agreement">EULA</abbr> é extensa e fechada, limitando muito os aplicativos que poderiam ser desenvolvidos, e obrigando a todos que quisessem disponibilizar seus aplicativos a passar por um extenso processo de homologação e validação.</p>
<p>Se você tem interesse em desenvolvimento de aplicativos para <em>iPhone</em> ou <em><a title="Informações sobre o iPod Touch, no site da Apple" href="http://www.apple.com/br/ipodtouch/">iPod Touch</a></em>, <strong>acompanhe os próximos posts onde vamos comentar sobre todo o processo necessário para começar a desenvolver aplicações para <em>iPhone</em> e <em>iPod Touch</em></strong>, desde o hardware e softwares necessários, linguagem, <em>framework</em>, até os modelos de inscrições que a Apple oferece.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.outofmemory.blog.br/2009/04/06/desenvolvendo-aplicativos-para-iphone/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
