Featured Post

Post de estréia original

Como falei no meu último post, o blog originou-se no WordPress.com. Para manter as coisas em seu lugar, aí vai o post de estréia publicado lá: Finalmente estou começando um blog! Na verdade não comecei antes porque faltava um assunto principal, algo que guiasse o blog. Escrever por escrever não...

Read More

Xcode macros cheatsheet

Posted by Marcelo Baltar | Posted in xcode | Posted on 10-04-2009

Tags:

0

Já que postei há pouco tempo sobre macros do Xcode, aí vai uma dica rápida: um cheatsheet com as macros que vêm pré-definidas durante a instalação.

E não esqueça de contribuir com suas macros no projetinho que abri no Github. ;)

Como criar macros no Xcode

Posted by Marcelo Baltar | Posted in xcode | Posted on 30-03-2009

Tags:

1

Acho que não deve ter um usuário do Xcode que não seja fã do code completion dele. Funciona maravilhosamente bem e é surpreendente a produtividade que ele proporciona ao desenvolvedor. Já utilizei diversas IDEs com este tipo de recurso, mas o Xcode conseguiu inovar e trazer uma forma mais interessante de adivinhar seu código. Umas poucas letras digitadas e dá-lhe TAB (ou ENTER, dependendo do freguês), um atrás do outro, para ver seu código ser inserido. É começar a usar e se apaixonar.

Mas é claro que o que é bom pode ficar melhor ainda. Você pode criar suas próprias macros para facilitar ainda mais sua vida. Está cansado de digitar:

@property (nonatomic, retain) NSTipoQualquer minhaPropriedade

nas suas interfaces?

Então é só criar uma macro que irá inserir o texto acima quando você digitar “@prop”, por exemplo. E colocando “placeholders” nos lugares certos (em NSTipoQualquer e minhaPropriedade), para facilitar a navegação e substituições necessárias.

O Xcode já vem com uma série de macros pré-definidas. Elas ficam no diretório /Developer/Applications/Xcode.app/Contents/PlugIns/TextMacros.xctxtmacro/Contents/Resources/. Macros criadas pelo usuário devem ser colocadas no diretório ~/Library/Application Support/Developer/Shared/Xcode/Specifications.

Para criar a macro @property acima, siga os passos:

  1. Crie o arquivo ObjectiveC.xctxtmacro no diretório ~/Library/Application Support/Developer/Shared/Xcode/Specifications. Você provavelmente vai precisar criar este diretório, pois ele não é criado na instalação do Xcode.
  2. Insira o código abaixo no seu arquivo ObjectiveC.xctxtmacro:
    /**
        Objective C text macro specifications
      by Marcelo Baltar
    */
    
    (
      {
        Identifier = objc.msb.property;
        BasedOn = objc;
        IsMenuItem = NO;
        Name = "@property definition";
        TextString = "@property (nonatomic, retain) < #datatype#> < #property#>";
        CompletionPrefix = "@prop";
        IncludeContexts = ( "xcode.lang.objc.interface" );
      },
    )
    
  3. Reinicie o Xcode (sim, essa é a parte chata: toda edição nos arquivos das macros só será reconhecida após você reiniciar o Xcode).

Usando o Git com XCode

Posted by Marcelo Baltar | Posted in xcode | Posted on 22-03-2009

Tags:,

0

git-logoDe vez em quando aparece alguém reclamando que o XCode não tem suporte nativo para o Git. Eu realmente não vejo problema nenhum nisso. O git é poderoso e complexo o bastante para eu preferir controlá-lo utilizando as ferramentas da linha de comando. Ainda não vi nenhuma interface gráfica para ele que fosse interessante o suficiente para me fazer abandonar esta prática.

Se você ainda não conhece o Git (o que acho difícil), ou ainda tem bastante dúvida em como utilizá-lo da melhor maneira (se é que existe esta receita, dada a flexibilidade deste excelente SCM), sugiro uma lida nos artigos escritos pelo Akita em seu blog. Procure por “git” no search box do blog. Outra excelente fonte de informação é o site git ready.

Uma coisa importante quando for utilizar o git em seus projetos de aplicações para o iPhone é configurar adequadamente o arquivo .gitignore. Este arquivo especifica quais arquivos/diretórios deverão ser ignorados pelo controle de versão. Após algumas pesquisas na net, fiz um apanhado de algumas entradas úteis para este arquivo:

.gitignore

#ignora arquivos do xcode
build/*
*.pbxuser
*.mode1v3
*.mode2v3
*.perspective
*.perspectivev3
*~.nib/
 
# ignora arquivos do osx
.DS_Store
profile

 

Outra dica interessante é configurar também o arquivo .gitattributes.

.gitattributes

*.pbxproj -crlf -diff -merge

 

Isso irá fazer com que o git enxergue o arquivo de projeto como um arquivo binário. Assim o git:

  • não vai tentar consertar newlines (-crlf)
  • mostrá-lo nos diffs (-diff)
  • não incluir o arquivo nos merges (-merge).

Para mais informações sobre este arquivo veja o man file.