Download - Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr
![Page 1: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/1.jpg)
© Adriano Santangeli
3 – 07/ 11/ 2009° iPhoneDevBr no MIS
D ic a s d e im p le m e n t a ç ã o e o t im iz a ç ã o m a is
.r e s o lu ç ã o d e p r o b le m a s
![Page 2: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/2.jpg)
Vou começar pelos
shortcuts
![Page 3: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/3.jpg)
Para facilitar utilizaremos a
tabela ao lado para identificar
.as teclas
![Page 4: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/4.jpg)
Acessando.arquivos
![Page 5: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/5.jpg)
Shortcuts.importantes
![Page 6: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/6.jpg)
6
Shortcuts.importantes
![Page 7: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/7.jpg)
A t é a g o r a n ã o t e v e N AD A , ?d e in t e r e s s a n t e c e r t o
![Page 8: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/8.jpg)
Va m o s a
!G U ER R A
![Page 9: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/9.jpg)
Um pouco sobre
.User macros
![Page 10: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/10.jpg)
Um pouco sobre
User macros
O q u e s ã o u s e r ?m a c r o s O Xc o d e já v e m
c o m a lg u m a s m a c r o s q u e
t o r n a m a s u a c o d if ic a ç ã o m a is
.p r o d u t iv a
![Page 11: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/11.jpg)
/ /D e v e lo p e r/Ap p lic a t io n s
. /Xc o d e a p p /C o n t e n t s /P lu g In s
. /Te x tM a c r o s x c t x t m a c r o /C o n t e n t s /R e s o u r c e s
Acessando o diretório das
macros que vem .com o Xcode
![Page 12: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/12.jpg)
~/ /Lib r a r y /Ap p lic a t io n S u p p o r t
/D e v e lo p e r /S h a r e d /Xc o d e S p e c if ic a t io n s
.Suas macros
* Caso não exista o diretório crie agora mesmo.
![Page 13: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/13.jpg)
.Exemplo de uma Macro que vem com o Xcode
![Page 14: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/14.jpg)
.Exemplo de uma Macro criada pelo usuário
![Page 15: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/15.jpg)
O a c c e s s o r iz e r é u m a f e r r a m e n t a q u e a u t o m a t iz a v á r ia s t a s k s .r e p e t it iv a s p a r a v o c ê
.Accessorizer
:/ / . . / / .http www kevincallahan org software accessorizer html
:D o w n lo a d e m
![Page 16: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/16.jpg)
16
![Page 17: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/17.jpg)
17
Uma dica não sobre a, IDE e sim sobre o
- :Objective Cem si
Uma dica sobre NSArray
Depois retornamos a IDE
NSArray VS .CArray
![Page 18: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/18.jpg)
18
Mas e se eu precisar chamar um método , ?nos meus objetos será lento
![Page 19: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/19.jpg)
Ag o r a d e v o lt a a s d ic a s s o b r e
( ).a ID E Xc o d e
Agora algumas
Dicas
![Page 20: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/20.jpg)
/Developer/ Plataforms/ iPhoneOS.platform/ Developer/ Library/ Xcode/ Project Templates/ Application
Editando o. com yourcompany
.do info plist
: Dentro de cada diretório você irá encontrar o arquivo_ _ _ _ _ _ - .PROJECTNAMEASIDENTIFIER Info plist
. Editando este arquivo você muda automaticamente os info plist defaults do Xcode
![Page 21: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/21.jpg)
~/Library/ Application Support/ Developer/ Shared/ Xcode/ Project Templates
User.Template
Amelhor coisa a fazer é copiar os templates - .da pasta do XCODEe editá la
![Page 22: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/22.jpg)
...Zumbis
, Vá em executables clique com o botão . direito em GetInfo Na aba arguments crie
.e habilite o NSZombieEnabled
![Page 23: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/23.jpg)
3.0:Xcode abaixo de
Vá em project settings e adicione um novo :user defined setting chamado
_ _ GCC THUMB SUPPORTe coloque nele o valor.NO
Otimização:
Compile for.Thumb
![Page 24: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/24.jpg)
3.1:Xcode acima de
4.2 GCC Code Generation e coloque nele o .valor YES
Otimização:
Compile for.Thumb
![Page 25: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/25.jpg)
?Trace ou Log
Na linha de código onde você deveria colocar um NSLog adicione um. + breakpoint Então use CTRL Click e vá em Edit BreakPoint na bolha azul
, + ( ) .que aparecer ao clicar no MAIS abra o menu de ações de BreakPoint
![Page 26: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/26.jpg)
.Bibliotecas estáticas
![Page 27: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/27.jpg)
.Bibliotecas estáticas
Apagar
Adicionar
![Page 28: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/28.jpg)
.Bibliotecas estáticas
1) Clique no target;
2) Agora em GetInfo;
• General;
• E por fim adicionar sua LIB.
![Page 29: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/29.jpg)
.Bibliotecas estáticas
Essa opção é necessária somente em casos que necessite .de classes em Objective C
![Page 30: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/30.jpg)
30
Por fim uma referência de
.livros
: Rapid Development Taming Wild Software Schedules
: Code Complete A Practical Handbook 2 of Software Construction Edition
’ ARM System Developer s Guide Designing and Optimizing System
Software
2 The Definitive Guide to GCC nd Edition
![Page 31: Otimização, dicas de implementação, como resolver problemas by Adriano Santangeli - 3º iphonedevbr](https://reader036.vdocuments.net/reader036/viewer/2022081401/559e57e91a28abc0208b46be/html5/thumbnails/31.jpg)
!OBRIGADO
- : .e mail adriano@maya im
: twitter @santangeli