Posted by Marcelo Baltar | Posted in xcode | Posted on 10-04-2009
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.
Posted by Marcelo Baltar | Posted in xcode | Posted on 30-03-2009
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:
- 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.
- 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" );
},
)
- Reinicie o Xcode (sim, essa é a parte chata: toda edição nos arquivos das macros só será reconhecida após você reiniciar o Xcode).
Posted by Marcelo Baltar | Posted in xcode | Posted on 22-03-2009
0
De 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.