<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>Mobits - Blog</title>
  <id>tag:www.mobits.com.br,2010:mephisto/blog</id>
  <generator version="0.8.0" uri="http://mephistoblog.com">Mephisto Drax</generator>
  <link href="http://www.mobits.com.br/feed/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://www.mobits.com.br/blog" rel="alternate" type="text/html"/>
  <updated>2010-08-20T20:14:03Z</updated>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Quintana</name>
    </author>
    <id>tag:www.mobits.com.br,2010-08-20:460</id>
    <published>2010-08-20T20:12:00Z</published>
    <updated>2010-08-20T20:14:03Z</updated>
    <category term="Blog"/>
    <category term="Not&#237;cias"/>
    <category term="cam"/>
    <category term="mobits"/>
    <link href="http://www.mobits.com.br/2010/8/20/novo-app-de-camera-para-iphone-e-capaz-de-aplicar-diversos-efeitos-nas-suas-fotos-em-tempo-real" rel="alternate" type="text/html"/>
    <title>Novo app de c&#226;mera para iPhone &#233; capaz de aplicar diversos efeitos nas suas fotos em tempo real</title>
<summary type="html">&lt;p&gt;A Mobits acaba de lançar mais um aplicativo na App Store!&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;A Mobits acaba de lançar mais um aplicativo na App Store!&lt;/p&gt;
&lt;p&gt;O &lt;strong&gt;Mobits Cam&lt;/strong&gt; requer o iOS 4 e pode ser baixado &lt;a&gt;aqui&lt;/a&gt; por apenas $0.99.&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Mobits Cam&quot; src=&quot;http://www.mobits.com.br/assets/2010/7/29/IMG_0825.PNG&quot; alt=&quot;Mobits Cam&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Ele é um app de fotografia, que permite a escolhe de diversos efeitos para incrementar as suas fotos tiradas do iPhone! A diferença dele para outros apps de fotografia é que os efeitos são aplicados em tempo real antes da foto ser tirada, bem como os efeitos do &lt;a href=&quot;http://www.apple.com/macosx/what-is-macosx/ichat.html&quot;&gt;iChat no Mac&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Efeitos&quot; src=&quot;http://www.mobits.com.br/assets/2010/7/29/IMG_0810.PNG&quot; alt=&quot;Efeitos&quot; /&gt; &amp;nbsp; &amp;nbsp; &lt;img title=&quot;Opções&quot; src=&quot;http://www.mobits.com.br/assets/2010/7/29/IMG_0809.PNG&quot; alt=&quot;Opções&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Além de tirar fotos, o app conta com outras opções como a configuração para tirar foto depois de um tempo determinado e o famoso &quot;Big Button&quot; que permite que uma foto seja tirada ao apertar em qualquer ponto da tela, facilitando a árdua tarefa de tirar fotos de si mesmo. O app também acessa a câmera frontal do iPhone 4.&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Efeito Borders&quot; src=&quot;http://www.mobits.com.br/assets/2010/7/29/IMG_0826.PNG&quot; alt=&quot;Efeito Borders&quot; /&gt; &amp;nbsp; &amp;nbsp; &lt;img title=&quot;Efeito X-Ray&quot; src=&quot;http://www.mobits.com.br/assets/2010/7/29/IMG_0877.PNG&quot; alt=&quot;Efeito X-Ray&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Comece agora a se divertir com a mais nova câmera do iPhone e não esqueça de nos dar &lt;i&gt;feedbacks&lt;/i&gt; de como incrementá-la ainda mais.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Hildi</name>
    </author>
    <id>tag:www.mobits.com.br,2010-08-16:469</id>
    <published>2010-08-16T22:22:00Z</published>
    <updated>2010-08-16T22:32:00Z</updated>
    <category term="Blog"/>
    <category term="Not&#237;cias"/>
    <category term="mbs"/>
    <category term="mobits button soccer"/>
    <category term="promo&#231;&#227;o"/>
    <link href="http://www.mobits.com.br/2010/8/16/1-ano-de-mobits-button-soccer-na-app-store" rel="alternate" type="text/html"/>
    <title>1 ano de Mobits Button Soccer na App Store</title>
<summary type="html">&lt;p&gt;Mobits Button Soccer(MBS) completa 1 ano de vida e quem ganha é você!&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;Mobits Button Soccer(MBS) completa 1 ano de vida e quem ganha é você!&lt;/p&gt;
&lt;p&gt;Há um ano atrás, resolvemos levar para o iPhone/iPod Touch um jogo que fez parte da infância de muitos brasileiros: o futebol de botão. Logo de cara, o jogo foi um sucesso! Em sua primeira semana de lançamento, o MBS alcançou o segundo lugar na App Store brasileira. Este feito ocorreu novamente, quando lançamos a versão com suporte a &lt;em&gt;bluetooth&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;
&lt;img title=&quot;MBS em segundo lugar na App Store&quot; src=&quot;http://www.mobits.com.br/assets/2010/8/16/Picture_2.png&quot; height=&quot;200px&quot; alt=&quot;MBS em segundo lugar na App Store&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;De lá pra cá, o jogo evoluiu bastante, principalmente devido aos &lt;em&gt;feedbacks&lt;/em&gt; de nossos usuários. Graças a eles foi possível realizar correções de &lt;em&gt;bugs&lt;/em&gt; e trazer novas funcionalidades como a inteligência artificial. Não é a toa que a versão 2.0 do MBS foi tão bem avaliada pelos usuários (4,5 estrelas).  &lt;/p&gt;

&lt;p&gt;Hoje, ele conta com diferentes modalidades de jogo: treinamento, amistoso (wi-fi ou &lt;em&gt;bluetooth&lt;/em&gt;), liga e torneio, além de contar com 32 seleções mundiais. Como próximo passo, estamos trabalhando na adaptação do jogo para o iPad. Aguardem!&lt;/p&gt;

&lt;p&gt;
&lt;img title=&quot;MBS no iPad&quot; src=&quot;http://www.mobits.com.br/assets/2010/8/16/proximo_passo.jpg&quot; height=&quot;400px&quot; alt=&quot;MBS no iPad&quot; /&gt;
&lt;/p&gt;

&lt;h3&gt;Promoção de aniversário&lt;/h3&gt;

&lt;p&gt;Como todo esse sucesso é graças a vocês, até amanhã, o &lt;b&gt;Mobits Button Soccer estará custando a metade do preço&lt;/b&gt;! Ou seja, apenas US$0.99! Aproveitem!&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Quintana</name>
    </author>
    <id>tag:www.mobits.com.br,2010-08-15:468</id>
    <published>2010-08-15T19:20:00Z</published>
    <updated>2010-08-15T19:20:52Z</updated>
    <category term="Blog"/>
    <category term="iphone sdk"/>
    <category term="sms"/>
    <link href="http://www.mobits.com.br/2010/8/15/enviando-sms-de-dentro-de-um-aplicativo-iphone" rel="alternate" type="text/html"/>
    <title>Enviando SMS de dentro de um aplicativo iPhone</title>
<content type="html">
            &lt;p&gt;O envio do chamado &lt;em&gt;In-App SMS&lt;/em&gt; é &lt;a href=&quot;http://www.mobits.com.br/2010/4/18/novas-oportunidades-para-os-desenvolvedores-com-o-iphone-os-4-0&quot;&gt;uma das novidades do iOS4&lt;/a&gt;. Ela pode ser muito útil em aplicativos como o &lt;a href=&quot;http://www.cinemobits.com.br&quot;&gt;Cine Mobits&lt;/a&gt;, onde um usuário poderá enviar convites via SMS a seus amigos para assistir um determinado filme. Contudo, como podemos implementar uma funcionalidade útil como essa do iOS 4 sem perder a compatibilidade com os sistemas operacionais anteriores e nem com os dispositivos, como o iPod Touch que não tem SMS?&lt;/p&gt;

&lt;p&gt;Simples! O primeiro passo é baixar o Xcode do iOS 4. Com ele você vai reparar que não é mais possível compilar aplicações para o iOS 3, apenas para o 4.0 ou para o 3.2 (iPad). Para que dispositivos com sistemas operacionais anteriores possam rodar um aplicativo compilado em 4.0 é preciso primeiro alterar o &lt;i&gt;Deployment target&lt;/i&gt; do seu projeto para a mínima versão que você quer que o app execute.&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Xcode&quot; src=&quot;http://www.mobits.com.br/assets/2010/8/12/xcode.png&quot; alt=&quot;Xcode&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Ao fazer isso, a Apple recomenda que você verifique se as funções que irá utilizar (especialmente as novas APIs) estão presentes no dispositivo. Para fazer isso no nosso exemplo do SMS, é só fazer o seguinte código:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Class messageClass = (NSClassFromString(@&quot;MFMessageComposeViewController&quot;));

// Verifica se a classe existe no sistema operacional
if (messageClass != nil) {      

    // Checa se o dispositivo pode enviar SMS
    if ([messageClass canSendText]) {
        [self displaySMSComposerSheet];
    }
    else {  
        feedbackMsg.hidden = NO;
        feedbackMsg.text = @&quot;Esse dispositivo não pode enviar SMS.&quot;;

    }
}
else {
    feedbackMsg.hidden = NO;
    feedbackMsg.text = @&quot;Esse dispositivo não pode enviar SMS.&quot;;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Reparem que para evitar um erro de execução em sistemas operacionais a classe &lt;i&gt;MFMailComposeViewController&lt;/i&gt; não foi chamada diretamente. Depois disso, também precisamos verificar o caso do dispositivo possuir ou não suporte a SMS.&lt;/p&gt;

&lt;p&gt;Para enfim enviar o SMS, temos que usar o &lt;i&gt;MFMessageComposeViewController&lt;/i&gt;, que é a tela onde escrevemos o SMS que nem no app original do iPhone, ou seja, a Apple não permite que o aplicativo envie um SMS sem a confirmação do usuário. A única vantagem é que não precisamos mais sair do app e podemos colocar uma mensagem e vários números de telefone na tela:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;-(void)displaySMSComposerSheet 
{
    MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init];
    picker.messageComposeDelegate = self;

    picker.body = @&quot;Teste de SMS do iPhone&quot;;
    picker.recipients = [NSArray arrayWithObjects:@&quot;12345678&quot;, @&quot;87654321&quot;, nil];
    picker.messageComposeDelegate = self;

    [self presentModalViewController:picker animated:YES];
    [picker release];
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Essa é a imagem da tela de envio de SMS:&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;In App SMS&quot; src=&quot;http://www.mobits.com.br/assets/2010/8/13/IMG_0978.PNG&quot; alt=&quot;In App SMS&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Em breve vamos implementar essa funcionalidade no &lt;a href=&quot;http://www.cinemobits.com.br&quot;&gt;Cine Mobits&lt;/a&gt;, bem como nas versões Java e Android onde ela já existe. Até a próxima!&lt;/p&gt;

&lt;p&gt;Leia também:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2010/4/18/novas-oportunidades-para-os-desenvolvedores-com-o-iphone-os-4-0&quot;&gt;Novas oportunidades para os desenvolvedores com o iPhone OS 4.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2009/9/1/envio-de-sms-java-me-x-iphone-os&quot;&gt;Envio de SMS: Java ME x iPhone OS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Felipe Barreto</name>
    </author>
    <id>tag:www.mobits.com.br,2010-08-10:467</id>
    <published>2010-08-10T18:52:00Z</published>
    <updated>2010-08-13T22:29:41Z</updated>
    <category term="Blog"/>
    <category term="eventos"/>
    <category term="mobilefest"/>
    <category term="pr&#234;mio"/>
    <link href="http://www.mobits.com.br/2010/8/10/i-premio-mobilefest-para-aplicativos-para-celular" rel="alternate" type="text/html"/>
    <title>I Pr&#234;mio Mobilefest para aplicativos para celular</title>
<content type="html">
            &lt;p&gt;Com o patrocínio da &lt;a href=&quot;http://www.claro.com.br&quot;&gt;Claro&lt;/a&gt;, estão abertas a inscrições para o &lt;a href=&quot;http://www.premiomobilefest.com.br&quot;&gt;I Prêmio Mobilefest de Aplicativos para Celular&lt;/a&gt;, cujos vencedores serão divulgados durante o &lt;a href=&quot;http://www.mobilefest.com.br&quot;&gt;Mobilefest&lt;/a&gt; que ocorrerá em São Paulo de 14 a 26 de setembro, no Museu da Imagem e do Som (MIS).&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://www.mobits.com.br/assets/2010/8/10/mobilefest.gif&quot; alt=&quot;Prêmio Mobilefest&quot; /&gt;&lt;/p&gt;

&lt;p&gt;O objetivo deste prêmio é dar maior visibilidade e incentivar o desenvolvimento de jogos e aplicativos em todo o país. Os melhores trabalhos receberão menções honrosas e &#8220;terão a oportunidade de exibir seus aplicativos na Mostra Expositiva Internacional do Festival, um contrato de seis meses com a operadora Claro e o 1 (um) grande vencedor ganhará como prêmio uma viagem à Ontário, no Canadá, para participar do programa Mobilefest - Mobile ICT/Digital Media R&amp;amp;D Exchange (Brasil Canadá)&#8221;.&lt;/p&gt;

&lt;p&gt;Para quem quiser enviar seus trabalhos, as inscrições vão de 1 a 30 de Agosto pelo site &lt;a href=&quot;http://www.premiomobilefest.com.br&quot;&gt;http://www.premiomobilefest.com.br&lt;/a&gt; e estão disponíveis as seguintes categorias:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;cultura, arte, entretenimento e redes sociais;&lt;/li&gt;
&lt;li&gt;meio ambiente, ecologia e sustentabilidade;&lt;/li&gt;
&lt;li&gt;educação, saúde e esportes;&lt;/li&gt;
&lt;li&gt;terceiro setor, democracia, cidadania, paz e serviços públicos.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;As inscrições são &lt;strong&gt;gratuitas&lt;/strong&gt; e podem ser realizadas tanto por &lt;strong&gt;Pessoas Físicas e Jurídicas&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Importante&lt;/strong&gt;: segundo o &lt;a href=&quot;http://www.premiomobilefest.com.br&quot;&gt;site&lt;/a&gt;, &#8220;Os critérios de seleção serão o grau de profissionalismo do aplicativo, originalidade, nível de desenvolvimento e usabilidade. O projeto deve estar em estágio avançado, pois será visualizado pelo júri em um vídeo de até cinco minutos, rodando em um celular, compreensão pela cultura e condições dos usuários finais, além de solução para um problema claramente definido, com foco nas áreas temáticas propostas.&#8221;&lt;/p&gt;

&lt;p&gt;A &lt;a href=&quot;http://www.mobits.com.br/&quot;&gt;Mobits&lt;/a&gt; já está preparando-se para inscrever o &lt;a href=&quot;http://www.cinemobits.com.br&quot;&gt;Cine Mobits&lt;/a&gt; e o &lt;a href=&quot;http://www.mobitsbuttonsoccer.com&quot;&gt;Mobits Button Soccer&lt;/a&gt; e convida a todos os amigos desenvolvedores a fazer o mesmo com seus aplicativos.&lt;/p&gt;

&lt;p&gt;Nos vemos lá!&lt;/p&gt;

&lt;p&gt;Leia também:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2010/3/30/mobits-no-movilforum-latinoamerica-2010&quot;&gt;Mobits no Movilforum Latinoamerica 2010&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Karin</name>
    </author>
    <id>tag:www.mobits.com.br,2010-07-28:456</id>
    <published>2010-07-28T23:43:00Z</published>
    <updated>2010-07-29T15:11:47Z</updated>
    <category term="Blog"/>
    <category term="iphone sdk"/>
    <category term="xml"/>
    <link href="http://www.mobits.com.br/2010/7/28/usando-xml-em-seus-projetos-iphone" rel="alternate" type="text/html"/>
    <title>Usando XML em seus projetos iPhone</title>
<content type="html">
            &lt;p&gt;Oi pessoal. Aqui na Mobits a gente trabalha bastante com &lt;em&gt;parser&lt;/em&gt; de dados. As duas formas mais comuns são: &lt;a href=&quot;http://pt.wikipedia.org/wiki/XML&quot;&gt;XML&lt;/a&gt; e &lt;a href=&quot;http://pt.wikipedia.org/wiki/JSON&quot;&gt;JSON&lt;/a&gt;. Hoje eu vou falar um pouco como usar &lt;a href=&quot;http://pt.wikipedia.org/wiki/XML&quot;&gt;XML&lt;/a&gt; em projetos iPhone. Em um &lt;em&gt;post&lt;/em&gt; futuro, será sobre &lt;a href=&quot;http://pt.wikipedia.org/wiki/JSON&quot;&gt;JSON&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Primeiros passos&lt;/h3&gt;

&lt;p&gt;Nos nossos projetos, utilizamos partes da &lt;a href=&quot;http://code.google.com/p/gdata-objectivec-client/&quot;&gt;Google Data APIs Objective-C Client Library&lt;/a&gt; que fornece diversas ferramentas de desenvolvimento para Mac e iPhone. &lt;/p&gt;

&lt;p&gt;Para começar a trabalhar com &lt;a href=&quot;http://pt.wikipedia.org/wiki/XML&quot;&gt;XML&lt;/a&gt; em seu projeto, baixe &lt;a href=&quot;http://code.google.com/p/gdata-objectivec-client/downloads/list&quot;&gt;o projeto completo do Google&lt;/a&gt; ou, para simplificar, somente o arquivo &lt;a href=&quot;http://www.mobits.com.br/assets/2010/7/28/XML.zip&quot;&gt;XML.zip&lt;/a&gt; onde selecionamos apenas os recursos necessários para este exemplo. Depois, siga os seguintes passos:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Crie uma pasta &lt;a href=&quot;http://pt.wikipedia.org/wiki/XML&quot;&gt;XML&lt;/a&gt; na raiz do seu projeto e copie &lt;em&gt;GDataDefines.h&lt;/em&gt; e a pasta &lt;em&gt;XMLSupport&lt;/em&gt; para a pasta;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No &lt;em&gt;Xcode&lt;/em&gt;, adicione a pasta criada ao seu projeto;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Adicione também &lt;em&gt;libxml2.dylib&lt;/em&gt; à lista de &lt;em&gt;Frameworks&lt;/em&gt;;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Em &lt;em&gt;Get Info&lt;/em&gt; do seu projeto, na aba &lt;em&gt;Build&lt;/em&gt;, para todas as configurações, adicione em &lt;em&gt;Header Search Paths&lt;/em&gt;:&lt;br /&gt;
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/include/libxml2 (Observe a versão do iOS no caminho acima. Pode ser necessário mudar de acordo com a versão utilizada pelo projeto.);&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pronto. Agora você poderá usar o &lt;em&gt;framework&lt;/em&gt; para fazer &lt;em&gt;parser&lt;/em&gt; de &lt;a href=&quot;http://pt.wikipedia.org/wiki/XML&quot;&gt;XML&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Implementação&lt;/h3&gt;

&lt;p&gt;Agora que já temos o &lt;em&gt;framework&lt;/em&gt; configurado em seu projeto, vamos usá-lo para fazer &lt;em&gt;parser&lt;/em&gt; de um &lt;a href=&quot;http://pt.wikipedia.org/wiki/XML&quot;&gt;XML&lt;/a&gt;. Abaixo, um exemplo de &lt;a href=&quot;http://pt.wikipedia.org/wiki/XML&quot;&gt;XML&lt;/a&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;projetos&amp;gt;
    &amp;lt;projeto&amp;gt;
        &amp;lt;nome&amp;gt;Cine Mobits&amp;lt;/nome&amp;gt;
        &amp;lt;descricao&amp;gt;Veja os horários do cinema direto do seu celular! Disponível para a maioria dos celulares com suporte a Java, iPhone/iPod Touch e também celulares com Android.&amp;lt;/descricao&amp;gt;
    &amp;lt;/projeto&amp;gt;
    &amp;lt;projeto&amp;gt;
        &amp;lt;nome&amp;gt;Mobits Button Soccer&amp;lt;/nome&amp;gt;
        &amp;lt;descricao&amp;gt;O clássico futebol de botão, jogo presente na infância de muitas pessoas, agora em versão para iPhone/iPod Touch.&amp;lt;/descricao&amp;gt;
    &amp;lt;/projeto&amp;gt;
    &amp;lt;projeto&amp;gt;
        &amp;lt;nome&amp;gt;FaxGuru&amp;lt;/nome&amp;gt;
        &amp;lt;descricao&amp;gt;Envie fax direto do seu iPhone! O FaxGuru permite que você tire fotos de documentos e envie-os via fax para mais de 250 países, além de ser simples, fácil de usar e totalmente em português.&amp;lt;/descricao&amp;gt;
    &amp;lt;/projeto&amp;gt;
&amp;lt;/projetos&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;A seguir, o código de &lt;em&gt;parse&lt;/em&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;#import &quot;GDataDefines.h&quot;
#import &quot;Projeto.h&quot;

@implementation ProjetosParser

+ (NSArray *)parse:(NSString *)xml {
    NSError *error = nil;

    NSXMLDocument *document = [[NSXMLDocument alloc] initWithXMLString:xml options:0 error:&amp;amp;error];
    NSXMLElement rootElement = [document rootElement];

    NSArray *projetosDoXML = [rootElement nodesForXPath:@&quot;//projeto&quot; error:&amp;amp;error];

    NSMutableArray *projetos = [NSMutableArray arrayWithCapacity:[projetosDoXML count]];

    for (NSXMLElement *projetoDoXML in projetosDoXML) {
        Projeto *projeto = [[Projeto alloc] init];
        projeto.nome = [[[projetoDoXML nodesForXPath:@&quot;./nome/text()&quot; error:nil] lastObject] stringValue];
        projeto.descricao = [[[projetoDoXML nodesForXPath:@&quot;./descricao/text()&quot; error:nil] lastObject] stringValue];

        [projetos addObject:projeto];
        [projeto release];
    }

    [document release];

    return projetos;
}

@end
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;A primeira coisa a ser feita é importar &lt;em&gt;&quot;GDataDefines.h&quot;&lt;/em&gt;. Se preferir, pode fazer a importação no &lt;em&gt;pch&lt;/em&gt; e o &lt;em&gt;parser&lt;/em&gt; ficará acessível para todas as classes do projeto.&lt;/p&gt;

&lt;p&gt;Para começar a fazer o &lt;em&gt;parse&lt;/em&gt; a partir de uma string &lt;a href=&quot;http://pt.wikipedia.org/wiki/XML&quot;&gt;XML&lt;/a&gt;, é preciso transformá-la em &lt;em&gt;NSXMLDocument&lt;/em&gt;. Assim, conseguimos obter o elemento raiz do nosso &lt;a href=&quot;http://pt.wikipedia.org/wiki/XML&quot;&gt;XML&lt;/a&gt;. A partir daí, é só fazer as consultas &lt;em&gt;XPath&lt;/em&gt; para obter as informações desejadas. No nosso exemplo, o método retorna um &lt;em&gt;array&lt;/em&gt; de projetos. &lt;/p&gt;

&lt;h3&gt;Dica&lt;/h3&gt;

&lt;p&gt;Caso você se depare com um &lt;a href=&quot;http://pt.wikipedia.org/wiki/XML&quot;&gt;XML&lt;/a&gt; onde a raiz tem &lt;em&gt;namespaces&lt;/em&gt;, a consulta &lt;em&gt;XPath&lt;/em&gt; será da seguinte forma:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;projetos xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns=&quot;http://tempuri.org/&quot;&amp;gt;

projeto.nome = [[[projetoDoXML nodesForXPath:@&quot;./*[local-name()=nome]/text()&quot; error:nil] lastObject] stringValue];
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Espero que este &lt;em&gt;post&lt;/em&gt; seja útil! Como disse, o meu próximo assunto será sobre &lt;a href=&quot;http://pt.wikipedia.org/wiki/JSON&quot;&gt;JSON&lt;/a&gt;. Aguardem!&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Karin</name>
    </author>
    <id>tag:www.mobits.com.br,2010-07-22:426</id>
    <published>2010-07-22T20:09:00Z</published>
    <updated>2010-07-24T20:48:40Z</updated>
    <category term="Blog"/>
    <category term="Not&#237;cias"/>
    <category term="faxguru"/>
    <category term="iphone"/>
    <link href="http://www.mobits.com.br/2010/7/22/mobits-e-bielsystems-laam-app-de-envio-de-fax" rel="alternate" type="text/html"/>
    <title>Mobits e BielSystems la&#231;am app de envio de fax</title>
<summary type="html">&lt;p&gt;Confira todas as novidades da app aqui!&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;Confira todas as novidades da app aqui!&lt;/p&gt;
&lt;p&gt;Em parceria com a &lt;a href=&quot;http://bielsystems.com.br/&quot;&gt;BielSystems&lt;/a&gt;, a Mobits está lançando o seu mais novo produto: o &lt;strong&gt;Faxguru&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://itunes.apple.com/br/app/faxguru/id382148837?mt=8&quot;&gt;Clique aqui para baixar!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Faxguru&quot; src=&quot;http://www.mobits.com.br/assets/2010/6/18/splash.png&quot; alt=&quot;Faxguru&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Mas o que ele faz? Ele envia fax. É isso mesmo! Basta você tirar fotos dos documentos que deseja enviar e pronto. :D&lt;/p&gt;

&lt;h3&gt;Seu funcionamento&lt;/h3&gt;

&lt;p&gt;Para usar o Faxguru, é preciso ter uma conta do serviço &lt;a href=&quot;http://emailfax.com.br&quot;&gt;EmailFax&lt;/a&gt;, da &lt;a href=&quot;http://bielsystems.com.br/&quot;&gt;BielSystems&lt;/a&gt;. Se você não tiver, poderá fazer o cadastro dentro do aplicativo. Tendo, é só fazer o login.&lt;/p&gt;

&lt;p&gt;O aplicativo é gratuito, porém para enviar fax é necessário comprar créditos. Isso pode ser feito tanto no site do &lt;a href=&quot;http://emailfax.com.br&quot;&gt;EmailFax&lt;/a&gt; quanto no próprio aplicativo. A forma de pagamento para a compra de créditos dentro do aplicativo, por enquanto, só será feita pelos cartões de crédito Visa e American Express. Nas próximas atualizações, novas formas de pagamento serão contempladas.&lt;/p&gt;

&lt;h4&gt;E agora?&lt;/h4&gt;

&lt;p&gt;Na tela de criar fax, é só adicionar as páginas do fax e informar o telefone do destinatário, lembrando que o envio de fax poderá ser feito para mais de &lt;a href=&quot;http://emailfax.com.br/custo_creditos&quot;&gt;250 países&lt;/a&gt;, então tanto o DDI quanto o DDD devem ser informados.&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Envio de Fax&quot; src=&quot;http://www.mobits.com.br/assets/2010/6/16/fax.png&quot; alt=&quot;Envio de fax&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Mas não é só tirar as fotos. Os usuários também poderão escolher a área da foto que deseja, além do contraste, conforme observamos abaixo:&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Ajustes da imagem&quot; src=&quot;http://www.mobits.com.br/assets/2010/7/22/scan.PNG&quot; alt=&quot;Ajustes da imagem&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Além de fotos tiradas com a câmera, fotos do álbum e também textos poderão ser anexados ao fax.&lt;/p&gt;

&lt;h4&gt;E depois?&lt;/h4&gt;

&lt;p&gt;Após o envio do fax, o usuário poderá acompanhar o andamento do processo em uma lista na aba &quot;Meus Fax&quot;. Nessa lista, ele poderá atualizar o status dos fax ainda em processamento, excluí-los e ainda poderá reaproveitá-los, enviando-os novamente.&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Meus Fax&quot; src=&quot;http://www.mobits.com.br/assets/2010/7/22/faxes.PNG&quot; alt=&quot;Meus Fax&quot; /&gt;&lt;/p&gt;

&lt;p&gt;O Faxguru foi desenvolvido para o público brasileiro, ou seja, é totalmente em português. E também conta, como em todos os nossos produtos, uma área de contato para que nossos usuários possam dar suas sugestões, críticas e elogios.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Felipe Barreto</name>
    </author>
    <id>tag:www.mobits.com.br,2010-07-03:438</id>
    <published>2010-07-03T10:00:00Z</published>
    <updated>2010-07-01T16:35:29Z</updated>
    <category term="Blog"/>
    <category term="acentua&#231;&#227;o"/>
    <category term="iphone sdk"/>
    <category term="objective c"/>
    <category term="utf-8"/>
    <link href="http://www.mobits.com.br/2010/7/3/removendo-acentuacao-em-objective-c" rel="alternate" type="text/html"/>
    <title>Removendo acentua&#231;&#227;o em Objective C</title>
<content type="html">
            &lt;p&gt;Para os programadores brasileiros, a &lt;strong&gt;acentuação das &lt;em&gt;strings&lt;/em&gt;&lt;/strong&gt; é um fator importante a ser considerado em vários aspectos do software, como buscas, comparações, ordenações e visualizações. Por isso, em alguns casos pode ser interessante transformar os caracteres acentuados em &lt;strong&gt;não acentuados&lt;/strong&gt; como p. ex. &quot;Meu app é móvel&quot; viraria &quot;Meu app e movel&quot;.&lt;/p&gt;

&lt;p&gt;Se você procurar na Internet, vai encontrar as mais diversas abordagens para realizar essa tarefa, desde a pura força bruta (fazendo um &lt;em&gt;find-and-replace&lt;/em&gt; por cada caractere acentuado conhecido e substituindo pelo seu equivalente) até abordagens um pouco mais inteligentes. Contudo, poucas são tão simples como a que veremos a seguir.&lt;/p&gt;

&lt;p&gt;Para fazer essa transformação, a primeira coisa é entender como o &lt;a href=&quot;http://pt.wikipedia.org/wiki/Codifica%C3%A7%C3%A3o_de_caracteres&quot;&gt;charset&lt;/a&gt; que você está usando funciona. Como na grande maioria dos casos usamos &lt;strong&gt;&lt;a href=&quot;http://pt.wikipedia.org/wiki/UTF-8&quot;&gt;UTF-8&lt;/a&gt;&lt;/strong&gt;, me basearei neste padrão para o código que desenvolvi.&lt;/p&gt;

&lt;p&gt;Como explica muito bem &lt;a href=&quot;http://blog.ablepear.com/2010/06/objective-c-tuesdays-c-strings.html&quot;&gt;este artigo&lt;/a&gt;, o &lt;a href=&quot;http://pt.wikipedia.org/wiki/UTF-8&quot;&gt;UTF-8&lt;/a&gt; representa cada caractere com 1 a 4 bytes, enquanto outros padrões como o &lt;a href=&quot;http://pt.wikipedia.org/wiki/ASCII&quot;&gt;ASCII&lt;/a&gt; e o &lt;a href=&quot;http://pt.wikipedia.org/wiki/ISO_8859-1&quot;&gt;ISO-8859-1&lt;/a&gt; utilizam apenas 1 byte. O interessante do &lt;a href=&quot;http://pt.wikipedia.org/wiki/UTF-8&quot;&gt;UTF-8&lt;/a&gt; é que os caracteres acentuados não são nada mais que a união do caractere básico e seu acento (ambos &lt;a href=&quot;http://pt.wikipedia.org/wiki/ASCII&quot;&gt;ASCII&lt;/a&gt;), como, p. ex., &quot;é&quot; é composto pelos bytes dos caracteres &quot;e&quot; e &quot;'&quot;. Somente com este conceito, já fica fácil imaginar qual deve ser a solução.&lt;/p&gt;

&lt;p&gt;Basta separarmos os bytes da &lt;em&gt;string&lt;/em&gt;, ignorar os bytes dos acentos e juntarmos novamente. E uma forma muito simples de fazer isso é converter sua &lt;em&gt;string&lt;/em&gt; para &lt;a href=&quot;http://pt.wikipedia.org/wiki/ASCII&quot;&gt;ASCII&lt;/a&gt; e depois convertê-la de volta a &lt;a href=&quot;http://pt.wikipedia.org/wiki/UTF-8&quot;&gt;UTF-8&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Assim:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;NSString *minhaString = @&quot;É fácil remover acentos. Até de pingo d'água :D&quot;;
NSData *minhaStringAsciiData = [minhaString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *minhaStringSemAcentos =  [[[NSString alloc] initWithData:minhaStringAsciiData encoding:NSUTF8StringEncoding] autorelease];
// minhaStringSemAcentos =&amp;gt; &quot;E facil remover acentos. Ate de pingo d'agua :D&quot;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Três observações sobre o código acima. Na segunda linha está o truque principal deste código: &lt;strong&gt;&lt;em&gt;allowLossyConversion:YES&lt;/em&gt;&lt;/strong&gt;. Esse parâmetro define que a conversão de &lt;a href=&quot;http://pt.wikipedia.org/wiki/UTF-8&quot;&gt;UTF-8&lt;/a&gt; para &lt;a href=&quot;http://pt.wikipedia.org/wiki/ASCII&quot;&gt;ASCII&lt;/a&gt; permitirá que haja uma perda de informação na conversão. Esta perda é justamente a dos bytes que armazenam os acentos, simples não? &lt;/p&gt;

&lt;p&gt;A segunda observação é que &lt;strong&gt;caracteres que normalmente são usados como acentos&lt;/strong&gt;, mas em situações em que não são - como o &lt;em&gt;'&lt;/em&gt; em &lt;em&gt;d'agua&lt;/em&gt; - não são perdidos pois nestas situações, eles ocupam o byte principal na &lt;em&gt;string&lt;/em&gt; &lt;a href=&quot;http://pt.wikipedia.org/wiki/UTF-8&quot;&gt;UTF-8&lt;/a&gt; e não há perda na conversão.&lt;/p&gt;

&lt;p&gt;Finalmente, é importante observar que o código acima funciona apenas para &lt;em&gt;strings&lt;/em&gt; comuns na língua portuguesa. Para outros &lt;strong&gt;caracteres especiais&lt;/strong&gt;, pode haver casos de inconsistências. P. ex. caracteres gregos como &lt;em&gt;α&lt;/em&gt;, &lt;em&gt;β&lt;/em&gt;, etc. são convertidos para caracteres totalmente diferentes ou simplesmente &lt;strong&gt;inválidos&lt;/strong&gt;. Se o seu software espera &lt;em&gt;strings&lt;/em&gt; com caracteres mais variados, talvez este código não se aplique e você deva buscar outras soluções.&lt;/p&gt;

&lt;p&gt;Leia também:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2009/5/4/formatador-automatico-para-objective-c&quot;&gt;Formatador Automático para Objective C&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2010/3/2/testes-no-iphone-usando-o-framework-padrao-do-xcode&quot;&gt;Testes no iPhone - Usando o framework padrão do Xcode&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Karin</name>
    </author>
    <id>tag:www.mobits.com.br,2010-06-30:432</id>
    <published>2010-06-30T14:03:00Z</published>
    <updated>2010-06-30T14:06:26Z</updated>
    <category term="Blog"/>
    <category term="Not&#237;cias"/>
    <category term="android"/>
    <category term="cine mobits"/>
    <category term="iphone"/>
    <category term="java me"/>
    <link href="http://www.mobits.com.br/2010/6/30/cine-mobits-2-0-lancado" rel="alternate" type="text/html"/>
    <title>Cine Mobits 2.0 lan&#231;ado!</title>
<summary type="html">&lt;p&gt;Saiba aqui quais as novidades que a mais nova versão traz!&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;Saiba aqui quais as novidades que a mais nova versão traz!&lt;/p&gt;
&lt;p&gt;Após muitos &lt;em&gt;feedbacks&lt;/em&gt; dos nossos usuários, estamos lançando a versão &lt;strong&gt;Cine Mobits 2.0&lt;/strong&gt;! A partir de uma lista com todas as sugestões enviadas, escolhemos as mais pedidas. Abaixo falo sobre cada uma delas.&lt;/p&gt;

&lt;h3&gt;Cine Mobits Android&lt;/h3&gt;

&lt;p&gt;Foi exatamente isso que você leu. Agora temos a versão do Cine Mobits para aparelhos com Android! E nessa versão o usuário conta com todas as funcionalidade que já existiam no Cine Mobits versão iPhone e também com as novidades. Para quem já conhecia o nosso app e trocou de celular, agora não terá mais problema, pois o Cine Mobits está disponível para Android, iPhone e demais celulares que possuem Java. Bom cinema para todos!&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Cine Mobits Android&quot; src=&quot;http://www.mobits.com.br/assets/2010/6/24/splash.png&quot; alt=&quot;Cine Mobits Android&quot; /&gt; &amp;nbsp; &amp;nbsp; &lt;img title=&quot;Cine Mobits Android&quot; src=&quot;http://www.mobits.com.br/assets/2010/6/24/cinemas.png&quot; alt=&quot;Cine Mobits Android&quot; /&gt;&lt;/p&gt;

&lt;h3&gt;Informações dos filmes&lt;/h3&gt;

&lt;p&gt;Um dos requisitos mais pedidos. No Cine Mobits iPhone, reformulamos o &lt;em&gt;layout&lt;/em&gt; para facilitar a visualização de todas as informações referente ao filme. Em todas as versões, o usuário pode conferir o nome original do filme, direção e elenco.&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Tela do filme&quot; src=&quot;http://www.mobits.com.br/assets/2010/6/24/imgsInfofilme.png&quot; alt=&quot;Tela do filme&quot; /&gt;&lt;/p&gt;

&lt;h3&gt;Ligar para o cinema&lt;/h3&gt;

&lt;p&gt;Legal, né?! Agora o usuário pode fazer uma ligação para o cinema para tirar dúvidas dentro do Cine Mobits. Isso para os casos que o cinema tiver o número de telefone cadastrado. Essa nova funcionalidade somente está disponível para a versão Android e iPhone.&lt;/p&gt;

&lt;h3&gt;Twitter&lt;/h3&gt;

&lt;p&gt;Quer saber tudo sobre cinema e também as novidades do Cine Mobits? No &lt;strong&gt;Cine Mobits 2.0&lt;/strong&gt; o usuário tem acesso ao nosso &lt;a href=&quot;http://twitter.com/cinemobits&quot;&gt;twitter.com/cinemobits&lt;/a&gt;. Essa funcionalidade está disponível para as três versões, porém na versão para os aparelhos com Java, disponibilizamos somente os últimos cinco &lt;em&gt;tweets&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Twitter&quot; src=&quot;http://www.mobits.com.br/assets/2010/6/24/imgsTwitter.png&quot; alt=&quot;Twitter&quot; /&gt;&lt;/p&gt;

&lt;h3&gt;Comprar ingresso&lt;/h3&gt;

&lt;p&gt;É isso mesmo, agora você pode comprar ingressos dentro do Cine Mobits. Todo o processo de venda de ingresso é feito pelo site da &lt;a href=&quot;http://www.ingresso.com&quot;&gt;ingresso.com&lt;/a&gt;. O filme que tem horário disponível, o botão de compra aparece. Você só precisa escolher o horário e efetuar o pagamento. Ao final da compra, você receberá um e-mail e um código, ambos poderão ser utilizados na entrada do cinema. Para mais detalhes, informe-se no cinema. &lt;/p&gt;

&lt;p&gt;Essa funcionalidade está disponível para todas as versões do Cine Mobits!&lt;/p&gt;

&lt;h3&gt;iOS4&lt;/h3&gt;

&lt;p&gt;A versão anterior do Cine Mobits (1.2.1) funciona até o iPhone OS 3.1.3. Já o &lt;strong&gt;Cine Mobits 2.0&lt;/strong&gt; está apto a rodar no iOS4. :)&lt;/p&gt;

&lt;p&gt;Esperamos que nossos usuários tenham gostado das novidades. São vocês que ajudam o Cine Mobits a ficar cada vez melhor. Por isso, continuem enviando suas críticas, sugestões e dúvidas.&lt;/p&gt;

&lt;p&gt;Em breve, mais novidades! Aguardem.&lt;/p&gt;

&lt;p&gt;Visite também:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.cinemobits.com.br&quot;&gt;Site oficial do Cine Mobits&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://twitter.com/cinemobits&quot;&gt;Twitter oficial&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Afonso Junior</name>
    </author>
    <id>tag:www.mobits.com.br,2010-06-29:435</id>
    <published>2010-06-29T20:00:00Z</published>
    <updated>2010-06-29T14:17:39Z</updated>
    <category term="Blog"/>
    <category term="android"/>
    <category term="iphone sdk"/>
    <category term="javame"/>
    <category term="plataformas moveis"/>
    <category term="xcode"/>
    <link href="http://www.mobits.com.br/2010/6/29/fragmentacao-no-iphone" rel="alternate" type="text/html"/>
    <title>Fragmenta&#231;&#227;o no iPhone?</title>
<content type="html">
            &lt;p&gt;Já é lugar-comum dizer que o perfil dos usuários de celular mudou muito. Agora, além de um bom aparelho, os aplicativos são determinantes para se escolher um novo celular: quanto mais aplicativos existirem, mais atrativo fica o aparelho. Por conta disso, tudo que for feito no sentido de melhorar a vida do desenvolvedor acaba sendo bom também pro fabricante do dispositivo, pois mais desenvolvedores implica mais aplicativos, enfim, tudo o que o usuário final deseja.&lt;/p&gt;

&lt;p&gt;Porém, há um fator que sempre atrapalhou os desenvolvedores na hora de criar o seu aplicativo: a &lt;strong&gt;fragmentação&lt;/strong&gt;. Pra quem não sabe o que isso quer dizer, vou explicar através de um exemplo. Quando desenvolvemos para &lt;strong&gt;&lt;a href=&quot;http://java.sun.com/javame/index.jsp&quot;&gt;Java ME&lt;/a&gt;&lt;/strong&gt;, nunca temos certeza se o aplicativo irá funcionar em todos os aparelhos. Isso se deve a diversos fatores, seja porque a fabricante decide instalar uma versão mais antiga (ou mais nova) do &lt;a href=&quot;http://java.sun.com/products/cldc/&quot;&gt;CLDC&lt;/a&gt;, ou por questões de compatibilidade do &lt;em&gt;hardware&lt;/em&gt; que se usa no dispositivo, enfim, sobra para o desenvolvedor testar em diversos aparelhos, e esperar que funcione na maioria deles.&lt;/p&gt;

&lt;p&gt;Esse problema não ocorre só com Java ME, também acontecia com &lt;strong&gt;&lt;a href=&quot;http://www.microsoft.com/windowsmobile/pt-br/default.mspx&quot;&gt;Windows Mobile&lt;/a&gt;&lt;/strong&gt;: muitas vezes soluções corporativas eram desenvolvidas e homologadas para um aparelho, e as empresas ficavam presas àquele modelo, pois não havia garantias de que iria funcionar com outro, mesmo sendo da mesma fabricante.&lt;/p&gt;

&lt;p&gt;Daí veio o desenvolvimento para &lt;strong&gt;&lt;a href=&quot;http://www.apple.com/iphone/&quot;&gt;iPhone&lt;/a&gt;&lt;/strong&gt;, e esse problema quase não existia: praticamente sempre o mesmo &lt;em&gt;hardware&lt;/em&gt;, poucas alterações entre as atualizações do sistema operacional do aparelho, mesmo tamanho de tela, enfim, a vida para nós desenvolvedores foi facilitada. Hoje em dia, um dos principais concorrentes do iPhoneOS, o &lt;strong&gt;&lt;a href=&quot;http://www.android.com/&quot;&gt;Android&lt;/a&gt;&lt;/strong&gt;, embora tenha um bom &lt;a href=&quot;http://pt.wikipedia.org/wiki/Sdk&quot;&gt;SDK&lt;/a&gt;, sofre muito com esse problema. Basta &lt;a href=&quot;http://www.google.com.br/search?hl=pt-BR&amp;amp;amp;source=hp&amp;amp;amp;q=fragmentação%20android&amp;amp;amp;btnG=Pesquisa+Google&amp;amp;amp;meta=&amp;amp;amp;aq=o&amp;amp;amp;oq=&quot;&gt;colocar no Google &quot;fragmentação android&quot;&lt;/a&gt; e ver que há diversos textos tratando disso como não só como um problema, mas como uma &lt;a href=&quot;http://pcworld.uol.com.br/noticias/2010/04/09/fragmentacao-ameaca-o-android-diz-estudo/&quot;&gt;ameaça&lt;/a&gt; à plataforma.&lt;/p&gt;

&lt;p&gt;Porém, nos últimos meses surgiram diversas novidades vindas da empresa de Cupertino: surgiu o &lt;strong&gt;&lt;a href=&quot;http://www.apple.com/br/ipad/&quot;&gt;iPad&lt;/a&gt;&lt;/strong&gt;, com tamanho diferente de tela e sem câmera, veio o novo sistema operacional - o &lt;strong&gt;&lt;a href=&quot;http://www.apple.com/br/iphone/softwareupdate/&quot;&gt;iOS4&lt;/a&gt;&lt;/strong&gt; -, e com ele a &lt;a href=&quot;http://www.i4u.com/article35408.html&quot;&gt;notícia de que os aparelhos mais antigos (2G para baixo) não poderiam ser atualizados&lt;/a&gt;, e o &lt;a href=&quot;http://www.apple.com/br/iphone/features.html&quot;&gt;novo iPhone&lt;/a&gt;, também com nova resolução de tela. Por conta disso, começou a rolar na &lt;em&gt;internet&lt;/em&gt; alguns textos que &lt;a href=&quot;http://mobile.venturebeat.com/2010/06/09/iphone-now-as-fragmented-as-android/&quot;&gt;afirmavam que estaria começando o processo de fragmentação do iPhone&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Não se pode negar que alguns percalços realmente existam por causa dessa avalanche de atualizações: aqui na &lt;strong&gt;&lt;a href=&quot;http://www.mobits.com.br&quot;&gt;Mobits&lt;/a&gt;&lt;/strong&gt;, por exemplo, só temos um computador habilitado para fazer &lt;em&gt;build&lt;/em&gt; abaixo da versão 3.2. Isso sem contar que, para fazer um aplicativo universal, &lt;a href=&quot;http://developer.apple.com/iphone/library/documentation/General/Conceptual/iPadProgrammingGuide/StartingYourProject/StartingYourProject.html#//apple_ref/doc/uid/TP40009370-CH9-SW2&quot;&gt;a própria Apple afirma que você deverá ter mais trabalho&lt;/a&gt;. Porém ainda não é nada perto ao que encontramos nas outras plataformas. Não se trata de uma defesa cega da Apple (como se ela precisasse), mas desenvolver para iPhone ainda é mais fácil do que para as outras plataformas. E isso acaba explicando o porquê ela tem tantos aplicativos disponíveis, enquanto outras, como &lt;a href=&quot;http://www.symbian.org/&quot;&gt;Symbian&lt;/a&gt;, vão minguando no mercado de &lt;em&gt;smartphones&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Leia também:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2010/4/18/novas-oportunidades-para-os-desenvolvedores-com-o-iphone-os-4-0&quot;&gt;Novas oportunidades para os desenvolvedores com o iPhone OS 4.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2010/3/30/mobits-no-movilforum-latinoamerica-2010&quot;&gt;Mobits no Movilforum Latinoamerica 2010&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2010/2/19/o-que-os-desenvolvedores-devem-esperar-do-novo-windows-phone-7&quot;&gt;O que os desenvolvedores devem esperar do novo Windows Phone 7&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Quintana</name>
    </author>
    <id>tag:www.mobits.com.br,2010-06-24:425</id>
    <published>2010-06-24T15:09:00Z</published>
    <updated>2010-07-29T23:20:19Z</updated>
    <category term="Blog"/>
    <category term="Not&#237;cias"/>
    <category term="app store"/>
    <category term="mobits button soccer"/>
    <link href="http://www.mobits.com.br/2010/6/24/mobits-button-soccer-2-0-lancado" rel="alternate" type="text/html"/>
    <title>Mobits Button Soccer 2.0 lan&#231;ado!</title>
<summary type="html">&lt;p&gt;Agora com campeonatos e diferença entre os times!&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;Agora com campeonatos e diferença entre os times!&lt;/p&gt;
&lt;p&gt;A nova versão &lt;a href=&quot;http://www.mobitsbuttonsoccer.com/pt&quot;&gt;do jogo&lt;/a&gt; está show! Para quem já possui o jogo, basta fazer a atualização gratuitamente, para quem não tem e se interessou, basta comprá-lo na App Store clicando nesse &lt;a href=&quot;http://itunes.apple.com/br/app/mobits-button-soccer-brasil/id325537064?mt=8&quot;&gt;link&lt;/a&gt;. A versão internacional do jogo ainda está aguardando a mesma atualização, que chegará em breve...&lt;/p&gt;

&lt;p&gt;Abaixo detalho as principais novidades dessa nova versão.&lt;/p&gt;

&lt;h3&gt;Liga&lt;/h3&gt;

&lt;p&gt;A primeira novidade é a Liga, que estará disponível a todos diretamente. Na liga, você escolhe o seu time e enfrenta todas as demais seleções. Ganha quem tiver mais pontos no fim do campeonato, composto de 31 rodadas.&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Jogos Liga MBS&quot; src=&quot;http://www.mobits.com.br/assets/2010/6/15/IMG_0353.PNG&quot; alt=&quot;Jogos Liga MBS&quot; /&gt; &amp;nbsp; &amp;nbsp; &lt;img title=&quot;Classificação Liga MBS&quot; src=&quot;http://www.mobits.com.br/assets/2010/6/15/IMG_0352.PNG&quot; alt=&quot;Classificação Liga MBS&quot; /&gt;&lt;/p&gt;

&lt;h3&gt;Torneio&lt;/h3&gt;

&lt;p&gt;A segunda novidade é  &lt;del&gt;a Copa do Mundo&lt;/del&gt; o Torneio (&lt;a href=&quot;http://www.mobits.com.br/2010/6/23/apple-comeca-a-reprovar-aplicativos-que-contem-mencoes-a-copa-do-mundo-fifa-na-app-store&quot;&gt;não podemos usar o termo &quot;Copa do Mundo&quot;&lt;/a&gt;). No torneio, você escolhe a sua seleção e enfrenta seus adversários na primeira fase de grupos e depois na segunda fase de mata-mata, assim como na &lt;del&gt;Copa&lt;/del&gt; naquele torneio famoso de futebol. :P&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Jogos Copa MBS&quot; src=&quot;http://www.mobits.com.br/assets/2010/6/15/IMG_0354.PNG&quot; alt=&quot;Jogos Copa MBS&quot; /&gt; &amp;nbsp; &amp;nbsp; &lt;img title=&quot;Classificação Copa MBS&quot; src=&quot;http://www.mobits.com.br/assets/2010/6/15/IMG_0355.PNG&quot; alt=&quot;Classificação Copa MBS&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Em caso de empate, a partida é decidida com a emocionante disputa de pênaltis. Também foi adicionado um novo treinamento de disputa de pênaltis na sessão treinamento.&lt;/p&gt;

&lt;p&gt;O torneio é uma funcionalidade extra do jogo e pode ser adquirida via &lt;em&gt;&quot;In App Purchase&quot;&lt;/em&gt; por $0,99. Se você não está familiarizado com o termo &lt;em&gt;&quot;In App Purchase&quot;&lt;/em&gt;, ele é uma forma que a Apple permite que conteúdos sejam vendidos dentro de aplicativos, sem precisar sair dos mesmos e com a mesma conta e cartão de crédito da App Store. Para comprar, basta clicar em &quot;Torneio&quot;, depois em &quot;Comprar Torneio&quot; e colocar a sua senha da App Store (iTunes).&lt;/p&gt;

&lt;h3&gt;Diferença entre os times&lt;/h3&gt;

&lt;p&gt;Outra funcionalidade muito pedida foi a diferença entre os times. Na versão anterior, jogar contra a Coréia do Norte era igual a jogar contra a Argentina. Agora cada time tem 4 atributos básicos, mostrados na imagem abaixo, que diferenciam as jogadas dos times quando estes realizam ataques, defesas, etc... Os times também contam com uma tendência (que fica destacada de amarelo), ela significa que o time realizará mais jogadas de um tipo em relação aos demais.&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Jogos Copa MBS&quot; src=&quot;http://www.mobits.com.br/assets/2010/6/15/IMG_0357.PNG&quot; alt=&quot;Jogos Copa MBS&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Fora a diferença entre os times, a inteligência artificial também sofreu melhorias, bem como a criação de um novo nível de dificuldade (que só é liberado quando o jogador é campeão da liga ou &lt;del&gt;da copa&lt;/del&gt; do torneio no modo difícil). :D&lt;/p&gt;

&lt;h3&gt;Promoção&lt;/h3&gt;

&lt;p&gt;Em comemoração ao lançamento dessa nova versão, estamos fazendo uma redução de 50% no preço do jogo por dois dias!!! Aproveite para comprar o jogo por apenas $0.99, e ainda incrementá-lo com &lt;del&gt;a Copa do Mundo&lt;/del&gt; o torneio mais famoso do mundo por menos que o antigo preço.&lt;/p&gt;

&lt;h3&gt;Próximo passo&lt;/h3&gt;

&lt;p&gt;As novas versões do jogo não vão parar por aqui. Estamos buscando customizá-lo para o iPad, já que não existe &lt;em&gt;gadget&lt;/em&gt; mais adequado para jogar um jogo de tabuleiro como o futebol de botão do que o tablet da Apple! A versão atual já roda no iPad, mas como um app de iPhone (com resolução um pouco inferior).&lt;/p&gt;

&lt;p&gt;Visite também:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobitsbuttonsoccer.com/pt&quot;&gt;Site oficial do Mobits Button Soccer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://twitter.com/futeboldebotao&quot;&gt;Twitter oficial do jogo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Quintana</name>
    </author>
    <id>tag:www.mobits.com.br,2010-06-23:429</id>
    <published>2010-06-23T14:28:00Z</published>
    <updated>2010-06-25T17:59:19Z</updated>
    <category term="Blog"/>
    <category term="apple"/>
    <category term="copa do mundo"/>
    <category term="mobits button soccer"/>
    <link href="http://www.mobits.com.br/2010/6/23/apple-comeca-a-reprovar-aplicativos-que-contem-mencoes-a-copa-do-mundo-fifa-na-app-store" rel="alternate" type="text/html"/>
    <title>Apple come&#231;a a reprovar aplicativos que cont&#233;m men&#231;&#245;es &#224; &quot;Copa do Mundo FIFA&quot; na App Store</title>
<content type="html">
            &lt;p&gt;A Mobits sempre prezou e respeitou os direitos autorais e de marca em seus aplicativos, tanto que nunca usamos bandeiras de clubes, federações de futebol e nem mesmo músicas no &lt;a href=&quot;http://www.mobitsbuttonsoccer.com/pt&quot;&gt;&lt;strong&gt;Mobits Button Soccer&lt;/strong&gt;&lt;/a&gt;. Contudo, ontem fomos surpreendidos com uma reprovação da Apple (de uma atualização do jogo) devido a direitos de marca da FIFA. &lt;/p&gt;

&lt;p&gt;O interessante é que no nosso jogo nós nunca nos referimos ao futebol real, o jogo sempre se tratou de um futebol de botão, também não apresentamos logos dos times nem da FIFA, nem as cores dos uniformes são as das seleções, usamos sempre as bandeiras dos países. A única coisa que colocamos no jogo foi o termo &quot;Copa do Mundo&quot; que enviava o jogador a um torneio de grupos com 2 fases iguais à Copa do Mundo FIFA, mas com resultados diferentes:&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Jogos Copa MBS&quot; src=&quot;http://www.mobits.com.br/assets/2010/6/25/IMG_0201.PNG&quot; alt=&quot;Jogos Copa MBS&quot; /&gt; &amp;nbsp; &amp;nbsp; &lt;img title=&quot;Classificação Copa MBS&quot; src=&quot;http://www.mobits.com.br/assets/2010/6/25/IMG_0336.PNG&quot; alt=&quot;Classificação Copa MBS&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Abaixo segue o email que foi enviado pela Apple:&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;E-mail Apple&quot; src=&quot;http://www.mobits.com.br/assets/2010/6/23/Screen_shot_2010-06-23_at_11.05.10.png&quot; alt=&quot;E-mail Apple&quot; /&gt;&lt;/p&gt;

&lt;p&gt;O email acima foi enviado tanto para a aplicação nacional (&lt;a href=&quot;http://www.mobitsbuttonsoccer.com/pt&quot;&gt;Mobits Button Soccer Brasil&lt;/a&gt;) tanto pela internacional (&lt;a href=&quot;http://www.mobitsbuttonsoccer.com/&quot;&gt;Mobits Button Soccer&lt;/a&gt;) em dias e horários diferentes e provavelmente por equipes de avaliadores diferentes, mostrando que esse é um email padrão da Apple que deve estar olhando com maior atenção para esse tema (talvez por pressão da própria FIFA) e reprovando todos os aplicativos que contém menções à Copa e não apresentam a documentação necessária. &lt;/p&gt;

&lt;p&gt;Escrevo este &lt;em&gt;post&lt;/em&gt; pois acho que ele serve de alerta para diversos desenvolvedores que estão desenvolvendo aplicações, pagas e gratuitas para a Copa do Mundo FIFA sem ter os direitos das mesmas, é provável que a Apple possa retirá-las do ar, abaixo um exemplo:&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;App da Copa&quot; src=&quot;http://www.mobits.com.br/assets/2010/6/23/Screen_shot_2010-06-23_at_11.01.58.png&quot; alt=&quot;App da Copa&quot; /&gt; &lt;/p&gt;

&lt;p&gt;Quanto ao &lt;a href=&quot;http://www.mobitsbuttonsoccer.com/pt&quot;&gt;MBS&lt;/a&gt;, estamos substituindo as menções à palavra &quot;Copa do Mundo&quot; por &quot;Torneio&quot; e torcendo pra que a Apple não encrenque com o fato do nosso &quot;torneio&quot; ser igual a copa do mundo da FIFA (feito em primeira fase de grupos e segunda fase de mata-mata)... em breve teremos a resposta, até lá pedimos paciência a todos que estão com o jogo no iOS4.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Hildi</name>
    </author>
    <id>tag:www.mobits.com.br,2010-06-16:427</id>
    <published>2010-06-16T23:32:00Z</published>
    <updated>2010-06-16T23:35:23Z</updated>
    <category term="Blog"/>
    <category term="Not&#237;cias"/>
    <category term="cine mobits"/>
    <category term="m&#237;dia"/>
    <link href="http://www.mobits.com.br/2010/6/16/cine-mobits-na-lista-de-apps-que-voc-precisa-ter-segundo-idg-now" rel="alternate" type="text/html"/>
    <title>Cine Mobits na lista de apps que voc&#234; precisa ter, segundo IDG Now </title>
<summary type="html">&lt;p&gt;Confira!&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;Confira!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://cine.mobits.com.br&quot;&gt;Cine Mobits&lt;/a&gt; foi citado, com grau de utilidade alto, na lista dos 11 apps gratuitos que você precisa ter, segundo &lt;a href=&quot;http://idgnow.uol.com.br/&quot;&gt;IDG Now&lt;/a&gt; em matéria veiculada hoje. Confira a matéria na íntegra &lt;a href=&quot;http://idgnow.uol.com.br/blog/glog/2010/06/16/11-apps-gratuitos-que-voce-precisa-ter-no-seu-iphone-ipod-touch/&quot;&gt;aqui&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Cine Mobits no IDG Now&quot; src=&quot;http://www.mobits.com.br/assets/2010/6/16/Imagem3.png&quot; alt=&quot;Cine Mobits no IDG Now&quot; /&gt;&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Hildi</name>
    </author>
    <id>tag:www.mobits.com.br,2010-06-10:422</id>
    <published>2010-06-10T14:49:00Z</published>
    <updated>2010-06-10T14:50:17Z</updated>
    <category term="Blog"/>
    <category term="android"/>
    <category term="celular"/>
    <category term="design"/>
    <link href="http://www.mobits.com.br/2010/6/10/como-fazer-layouts-para-android" rel="alternate" type="text/html"/>
    <title>Como fazer layouts para Android</title>
<content type="html">
            &lt;p&gt;O &lt;a href=&quot;http://www.android.com/&quot;&gt;Android&lt;/a&gt; está avançando no mercado mobile. Para se ter ideia, ele já &lt;a href=&quot;http://pcworld.uol.com.br/noticias/2010/05/19/android-supera-o-windows-mobile-no-mercado-de-smartphones/?0.51587038368&quot;&gt;superou&lt;/a&gt; o Windows Mobile. Por este motivo, nós da Mobits também estamos investindo nessa plataforma. Já estamos desenvolvendo a versão do &lt;a href=&quot;http://www.cinemobits.com.br&quot;&gt;Cine Mobits&lt;/a&gt; para Android. Lançamento em breve! =)&lt;/p&gt;

&lt;p&gt;Neste post, pretendo dar algumas dicas, de acordo com nossa experiência ao fazer o &lt;em&gt;layout&lt;/em&gt; do &lt;a href=&quot;http://www.cinemobits.com.br&quot;&gt;Cine Mobits&lt;/a&gt; para &lt;a href=&quot;http://www.android.com/&quot;&gt;Android&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;
&lt;img title=&quot;Android&quot; src=&quot;http://www.mobits.com.br/assets/2009/3/5/android-logo.gif&quot; alt=&quot;Android&quot; /&gt;
&lt;/p&gt;

&lt;h3&gt;Leia e siga as recomendações do Android Guideline&lt;/h3&gt;

&lt;p&gt;Antes de começar a fazer o &lt;em&gt;layout&lt;/em&gt; de seu app, dê uma lida nas recomendações descritas no &lt;a href=&quot;http://developer.android.com/guide/practices/ui_guidelines/icon_design.html&quot;&gt;Android Guideline&lt;/a&gt;.  O guia é bastante completo e explica passo-a-passo diversos itens. Além disso, possui arquivos &lt;em&gt;.psd&lt;/em&gt; de exemplo para ícones de &lt;em&gt;menu&lt;/em&gt;, &lt;em&gt;tab&lt;/em&gt;, &lt;em&gt;launchers&lt;/em&gt;. O pacote de exemplos pode ser baixado &lt;a href=&quot;http://developer.android.com/shareables/icon_templates-v2.0.zip&quot;&gt;aqui&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Suporte a diferentes resoluções&lt;/h3&gt;

&lt;p&gt;Como todos sabem, o &lt;a href=&quot;http://www.android.com/&quot;&gt;Android&lt;/a&gt; foi desenvolvido para rodar em vários tipos de dispositivos diferentes. Por esta razão, ao fazer o &lt;em&gt;layout&lt;/em&gt; de um aplicativo é preciso ter em mente essa preocupação. Caso contrário, as imagens usadas no aplicativo terão perda de qualidade, ficando distorcidas. Neste sentido, é preciso se preocupar com os ícones e os elementos (botões, listas, abas, etc) da aplicação.&lt;/p&gt;

&lt;h4&gt;Para os ícones&lt;/h4&gt;

&lt;p&gt;Para que o aplicativo tenha suporte a diferentes resoluções, é preciso ter 3 versões dos seus ícones para cada tipo de resolução: baixa (ldpi), média (mdpi) e alta (hdpi) densidade. A resolução usada como &lt;em&gt;default&lt;/em&gt; é a média.&lt;/p&gt;

&lt;p&gt;Quando você cria o projeto, já vem um diretório padrão para as imagens, o &lt;em&gt;res/drawable/&lt;/em&gt;. Para que o projeto também funcione para outras resoluções, basta criar os diretórios referentes. Por exemplo, no caso do hdpi, o diretório a ser criado é o &lt;em&gt;res/drawable-hdpi/&lt;/em&gt;. &lt;/p&gt;

&lt;p&gt;
&lt;img title=&quot;Estrutura de pastas para suporte a diversas resoluções&quot; src=&quot;http://www.mobits.com.br/assets/2010/6/9/Imagem2.png&quot; alt=&quot;Estrutura de pastas para suporte a diversas resoluções&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;Pronto, a partir daí é só salvar seus ícones em suas respectivas pastas, que o &lt;a href=&quot;http://www.android.com/&quot;&gt;Android&lt;/a&gt; cuida do restante do trabalho, usando as imagens de acordo com a resolução de cada tipo de aparelho.&lt;/p&gt;

&lt;p&gt;Importante: O suporte a diferentes resoluções só funciona a partir do Android 1.6. A versão mínima do seu projeto também precisa ser a partir do 1.6.&lt;/p&gt;

&lt;h4&gt;Para os elementos, use NinePatch&lt;/h4&gt;

&lt;p&gt;O que fazer com os elementos, para que eles não percam qualidade quando forem renderizados em diferentes resoluções? Pensando nisso, o &lt;a href=&quot;http://www.android.com/&quot;&gt;Android&lt;/a&gt; fornece suporte a imagens NinePatch, que nada mais é que uma imagem que você faz demarcações (são as marcas na borda da imagem, na cor preta) a mais para que o &lt;a href=&quot;http://www.android.com/&quot;&gt;Android&lt;/a&gt; saiba onde ela poderá ser esticada.&lt;/p&gt;

&lt;p&gt;Para fazer imagens NinePatch, o sdk provê uma ferramenta: a &lt;a href=&quot;http://developer.android.com/guide/developing/tools/draw9patch.html&quot;&gt;Draw 9-patch&lt;/a&gt;. O legal da ferramenta é que ela tem um &lt;em&gt;preview&lt;/em&gt; (no lado direito) de como sua imagem fica quando ela é esticada verticalmente, horizontalmente e ambas.&lt;/p&gt;

&lt;p&gt;
&lt;img title=&quot;Draw 9-patch&quot; src=&quot;http://www.mobits.com.br/assets/2010/6/9/Imagem1.png&quot; alt=&quot;Draw 9-patch&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;O próprio &lt;a href=&quot;http://www.android.com/&quot;&gt;Android&lt;/a&gt; faz uso de diversas de imagens desse tipo. É possível trocar essa imagens por outras novas ou outras feitas a partir delas. Por exemplo, trocar o fundo de uma célula de uma lista quando ela está selecionada.&lt;/p&gt;

&lt;p&gt;Enfim, espero ter ajudado com minhas dicas. Tem alguma outra dica? Não deixe de comentar!&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Quintana</name>
    </author>
    <id>tag:www.mobits.com.br,2010-06-04:419</id>
    <published>2010-06-04T22:43:00Z</published>
    <updated>2010-06-10T14:52:51Z</updated>
    <category term="Blog"/>
    <category term="blender"/>
    <category term="iphone sdk"/>
    <category term="opengles"/>
    <link href="http://www.mobits.com.br/2010/6/4/exibindo-conteudo-tridimensional-modelado-no-iphone" rel="alternate" type="text/html"/>
    <title>Exibindo conte&#250;do tridimensional modelado no iPhone</title>
<content type="html">
            &lt;p&gt;Quem já começou a programar com o &lt;a href=&quot;http://www.opengl.org/&quot;&gt;OpenGL&lt;/a&gt; no &lt;a href=&quot;http://www.apple.com/br/iphone/&quot;&gt;iPhone&lt;/a&gt; já deve ter executado o programa de exemplo da Apple (&lt;a href=&quot;https://developer.apple.com/iphone/library/samplecode/GLGravity/Introduction/Intro.html&quot;&gt;GLGravity&lt;/a&gt;) que exibe uma chaleira bonitinha no &lt;a href=&quot;http://www.apple.com/br/iphone/&quot;&gt;iPhone&lt;/a&gt; que gira de acordo com o acelerômetro:&lt;/p&gt;

&lt;p&gt;
&lt;img title=&quot;teapot&quot; src=&quot;http://www.mobits.com.br/assets/2010/6/4/teapot.png&quot; alt=&quot;teapot&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;A grande questão é que essa chaleira não é carregada de um arquivo que foi modelado em alguma ferramenta, como o Maya ou o Blender. Ela é um &lt;em&gt;array&lt;/em&gt; de vértices e de vetores normais escritos em um arquivo.h e importados pelo Objective-c, onde esse &lt;em&gt;array&lt;/em&gt; é iterado e cada vértice desenhado é na mão no código do &lt;a href=&quot;http://www.opengl.org/&quot;&gt;OpenGL&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;
&lt;img title=&quot;arquivo .h&quot; src=&quot;http://www.mobits.com.br/assets/2010/6/4/arquivoh.png&quot; alt=&quot;arquivo .h&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;Um ponto importante é que o &lt;a href=&quot;http://www.apple.com/br/iphone/&quot;&gt;iPhone&lt;/a&gt; não usa o &lt;a href=&quot;http://www.opengl.org/&quot;&gt;OpenGL&lt;/a&gt; normal, por ser um dispositivo móvel com processamento limitado, ele usa uma versão mais simplificada do mesmo, chamada de &lt;a href=&quot;http://en.wikipedia.org/wiki/OpenGL_ES&quot;&gt;OpenGL ES&lt;/a&gt;. No &lt;a href=&quot;http://en.wikipedia.org/wiki/OpenGL_ES&quot;&gt;OpenGL ES&lt;/a&gt; todos os objetos tridimensionais são desenhados como um conjunto de triângulos e estes triângulos por sua vez são formados por 3 vértices (ou pontos) e possuem apenas um lado visível (para diminuir o processamento), sendo que o lado que não fica visível geralmente é o de dentro dos objetos.&lt;/p&gt;

&lt;p&gt;Fato que desenhar objetos complexos com triângulos via código seria uma missão muito complicada, e esse é o objetivo desse post: demonstrar como podemos transformar objetos modelados em ferramentas profissionais em um arquivo .h com os vértices dos triângulos que compõem um objeto e que sejam compatíveis com o &lt;a href=&quot;http://en.wikipedia.org/wiki/OpenGL_ES&quot;&gt;OpenGL ES&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Primeira tentativa: obj2opengl&lt;/h3&gt;

&lt;p&gt;A minha primeira tentativa em fazer essa conversão foi usando o &lt;em&gt;script&lt;/em&gt; em &lt;em&gt;Perl&lt;/em&gt; &lt;a href=&quot;http://www.heikobehrens.net/2009/08/27/obj2opengl/&quot;&gt;descrito nesse link&lt;/a&gt;. A proposta é ótima! Usando uma ferramenta de modelagem, nós exportamos o objeto desejado para o formato &lt;em&gt;Wavefront&lt;/em&gt; (.obj), tomando sempre o cuidado de transformar os objetos que serão exportados para triângulos antes (as próprias ferramentas tem suporte pra isso). Depois, basta rodar o &lt;em&gt;script&lt;/em&gt;, que pode ser baixado &lt;a href=&quot;http://www.heikobehrens.net/wp-content/uploads/2009/08/obj2opengl.zip&quot;&gt;nesse link&lt;/a&gt;, passando o arquivo .obj como parâmetro que ele gera o arquivo.h para você:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;./obj2opengl.pl objetoModelado.obj
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Os primeiros testes (com cubos modelados) foram um sucesso. Foi quando eu achei que havia achado a solução do problema, então comecei a modelar objetos mais complexos. Foi aí os erros começaram a aparecer. Notei que essa solução não estava funcionando bem em modelagens mais complexas com vários objetos, texturas e tudo mais. Algumas vezes ela dava um erro de divisão por zero e em outras apresentava erros na exibição do objeto final.&lt;/p&gt;

&lt;h3&gt;A solução: Script do Blender&lt;/h3&gt;

&lt;p&gt;Então procurando pela internet, achei mais uma solução, do Jeff Lamarche, aliás eu já conhecia o Jeff por causa de uma &lt;a href=&quot;http://iphonedevelopment.blogspot.com/2009/05/opengl-es-from-ground-up-table-of.html&quot;&gt;série de posts&lt;/a&gt; ótima que eu havia lido dele, explicando passo a passo o &lt;a href=&quot;http://en.wikipedia.org/wiki/OpenGL_ES&quot;&gt;OpenGL ES&lt;/a&gt; no &lt;a href=&quot;http://www.apple.com/br/iphone/&quot;&gt;iPhone&lt;/a&gt;. A solução que ele desenvolveu foi um &lt;a href=&quot;http://iphonedevelopment.blogspot.com/2009/06/using-3d-models-from-blender-in-opengl.html&quot;&gt;script em Python&lt;/a&gt; que funciona direto do Blender (como se fosse um &lt;em&gt;plugin&lt;/em&gt;) e permite que você exporte seus objetos diretamente para os arquivos &lt;i&gt;headers&lt;/i&gt; que são recomendados pela Apple no &lt;a href=&quot;http://en.wikipedia.org/wiki/OpenGL_ES&quot;&gt;OpenGL ES&lt;/a&gt; do &lt;a href=&quot;http://www.apple.com/br/iphone/&quot;&gt;iPhone&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Dessa vez os testes foram ótimos, todos os objetos modelados foram exportados com sucesso, inclusive o Jeff lançou uma &lt;a href=&quot;http://iphonedevelopment.blogspot.com/2009/07/improved-blender-export.html&quot;&gt;atualização para o seu script&lt;/a&gt; que já converte os objetos para triângulos diretamente e também captura as informações de textura dos mesmos, que na versão anterior tinham que ser inseridas no código depois da importação.&lt;/p&gt;

&lt;p&gt;Para ilustrar, criei um exemplo com o conhecido macaco do &lt;a href=&quot;http://www.blender.org/&quot;&gt;Blender&lt;/a&gt; rodando no &lt;a href=&quot;http://www.opengl.org/&quot;&gt;openGL&lt;/a&gt; do &lt;a href=&quot;http://www.apple.com/br/iphone/&quot;&gt;iPhone&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;
&lt;img title=&quot;macaco do blender no iphone&quot; src=&quot;http://www.mobits.com.br/assets/2010/6/4/macaco_iphone.png&quot; alt=&quot;macaco do blender no iphone&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;Quem tiver uma solução alternativa, sinta-se livre para comentar! :)&lt;/p&gt;

&lt;p&gt;Leia também:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2010/5/17/ipad-primeiro-projeto-com-uisplitview&quot;&gt;iPad: primeiro projeto com UISplitView&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mobits.com.br/2010/4/18/novas-oportunidades-para-os-desenvolvedores-com-o-iphone-os-4-0&quot;&gt;Novas oportunidades para os desenvolvedores com o iPhone OS 4.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
          </content>  </entry>
  <entry xml:base="http://www.mobits.com.br/">
    <author>
      <name>Felipe Barreto</name>
    </author>
    <id>tag:www.mobits.com.br,2010-05-28:414</id>
    <published>2010-05-28T21:36:00Z</published>
    <updated>2010-06-10T14:53:42Z</updated>
    <category term="Blog"/>
    <category term="app store"/>
    <category term="minist&#233;rio do turismo"/>
    <category term="mobits"/>
    <category term="modulo"/>
    <category term="sal&#227;o do turismo"/>
    <link href="http://www.mobits.com.br/2010/5/28/mobits-e-modulo-desenvolvem-app-para-5o-salao-do-turismo" rel="alternate" type="text/html"/>
    <title>Mobits e M&#243;dulo desenvolvem app para 5o Sal&#227;o do Turismo</title>
<content type="html">
            &lt;p&gt;Começando nesta próxima quarta-feira, dia 26, o &lt;a href=&quot;http://www.salao.turismo.gov.br/salao/home.html&quot;&gt;5o Salão do Turismo&lt;/a&gt; &quot;é uma estratégia de mobilização, promoção e comercialização dos roteiros turísticos&quot;. Em outras palavras, é uma oportunidade para quem quer planejar uma bela viagem para os inúmeros destinos turíscos do Brasil. &lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://www.mobits.com.br/assets/2010/5/25/IMG_0089.PNG&quot; alt=&quot;App do 5o Salão do Turismo&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Em parceria com o &lt;a href=&quot;http://www.turismo.gov.br/turismo/home.html&quot;&gt;Ministério do Turismo&lt;/a&gt;, a &lt;a href=&quot;http://www.modulo.com.br&quot;&gt;Módulo&lt;/a&gt; e a &lt;a href=&quot;http://www.mobits.com.br&quot;&gt;Mobits&lt;/a&gt; desenvolveram &lt;a href=&quot;http://itunes.apple.com/br/app/id374024635&quot;&gt;um app exclusivo&lt;/a&gt; para a ocasião, quando qualquer visitante com um iphone poderá baixá-lo e contribuir com ideias, notícias e avisos que considerarem importantes para o evento. &lt;/p&gt;

&lt;p&gt;O &lt;a href=&quot;http://itunes.apple.com/br/app/id374024635&quot;&gt;app&lt;/a&gt; tem uma interface muito simples de usar, onde o usuário pode registrar uma foto e mais algumas informações textuais sobre algo que considerar relevante para a organização do evento. Depois de submeter essas informações, elas serão tratadas por uma equipe especializada e devidamente encaminhadas aos setores responsáveis.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://www.mobits.com.br/assets/2010/5/25/app_salao_turismo.png&quot; alt=&quot;Interface App do 5o Salão do Turismo&quot; /&gt;&lt;/p&gt;

&lt;p&gt;A expectativa é que o feedback gerado permita a organização do evento encontrar determinados pontos que precisarem de mais atenção e também colher boas ideias que deverão ser aproveitadas para as edições posteriores do evento.&lt;/p&gt;

&lt;p&gt;Se você estiver em São Paulo entre 26 e 30 de maio, não deixe de conferir o &lt;a href=&quot;http://www.salao.turismo.gov.br/salao/home.html&quot;&gt;5o Salão do Turismo&lt;/a&gt; e, quem sabe, encontrar o pacote de férias do seus sonhos. E, se tiver um iPhone em mãos, ainda contribuir com suas ideias e críticas. ;)&lt;/p&gt;
          </content>  </entry>
</feed>
