Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Superando barreiras no desenvolvimento iOS
Search
Marcelo
May 11, 2013
Programming
11k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Superando barreiras no desenvolvimento iOS
Palestra apresentada no DevCamp 2013.
Marcelo
May 11, 2013
More Decks by Marcelo
See All by Marcelo
Geração de Código - 👍 ou 👎?
marcelofabri
0
170
Desenvolvendo um plugin para o Xcode
marcelofabri
0
200
Desenvolvimento iOS em projetos reais - QCon Rio 2014
marcelofabri
4
470
Objective-Chaos (A Grande Mudança de 2014™)
marcelofabri
1
210
Além do Flat Design: O que mudou no iOS 7
marcelofabri
1
470
E se eu tivesse um DeLorean? - TDC 2012
marcelofabri
0
110
Jogos para iOS usando cocos2d
marcelofabri
0
80
Other Decks in Programming
See All in Programming
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
1
440
AWSに止められる覚悟してますか?
morizo_1984
2
540
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
370
R8 の設定見直しでアプリサイズ削減
andpad
0
220
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
190
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
610
phperだってパンチカードでコーディングしたい
o0h
PRO
0
340
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
390
Verilogで学ぶCPU自作入門
uyuki234
8
4.1k
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
160
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
380
Featured
See All Featured
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
270
First, design no harm
axbom
PRO
2
1.3k
How to make the Groovebox
asonas
2
2.5k
Site-Speed That Sticks
csswizardry
13
1.6k
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
800
Utilizing Notion as your number one productivity tool
mfonobong
4
620
How to Ace a Technical Interview
jacobian
280
24k
Practical Orchestrator
shlominoach
192
12k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
940
The Art of Programming - Codeland 2020
erikaheidi
57
14k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
630
Transcript
Superando Barreiras no Desenvolvimento iOS
•Apresentação •Motivação •Pré-requisitos •Linguagem •IDE •Dependências •DEMO •Últimos detalhes Agenda
Eu sou o Marcelo! marcelofabri.com @marcelofabri_
[email protected]
Quem?!
Quem?
Sobre o que é essa palestra?
Sobre o que NÃO é essa palestra?
None
None
None
Mas sério, sobre o que é essa palestra?
Fácil. Barreiras.
None
Chega de nhenhenhe.
Primeira barreira
Xcode só roda no Mac OSX
Beleza. Arranjei um Mac. E agora? #comofas
Objective-C
Objective-C + (void)sendAsynchronousRequest:(NSURLRequest *)request queue:(NSOperationQueue*) queue completionHandler:(void (^)(NSURLResponse*, NSData*, NSError*))
handler [NSURLConnection sendAsynchronousRequest:req queue:queue completionHandler:^(NSURLResponse *resp, NSData *data, NSError *err) { NSLog(@"%@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]); }];
Acha isso ruim? Vamos ver algumas melhorias
home.view.frame = self.view.frame; [[home view] setFrame:[[self view] frame]]; Para acessar
propriedades, usa-se dot notation. Métodos são chamados com colchetes. Dot Notation
NSDictionary *palestrante = [NSDictionary dictionaryWithObjectsAndKeys:@"Marcelo", @"nome", @"Palmeiras", @"time", nil]; NSString
*nome = [palestrante objectForKey:@"nome"]; NSArray *numeros = [NSArray arrayWithObjects:[NSNumber numberWithInt:1], [NSNumber numberWithInt:2], nil]; NSNumber *um = [numeros objectAtIndex:0]; NSDictionary *palestrante = @{@"nome": @"Marcelo", @"time": @"Palmeiras"}; NSString *nome = palestrante[@"nome"]; NSArray *numeros = @[@1, @2]; NSNumber *um = numeros[0]; Literals http://clang.llvm.org/docs/ObjectiveCLiterals.html
None
Mas e o gerenciamento de memória? Me falaram que não
tem Garbage Collector.
Não tem mesmo. É usado contagem de referências. http://en.wikipedia.org/wiki/Reference_counting
Vou ter que controlar isso na mão?
NÃO!
ARC http://clang.llvm.org/docs/AutomaticReferenceCounting.html
None
There’s a twist!
ARC não é magia •“Objetos” do CoreFoundation (C) devem ser
controlados na mão •Retain cycles
Xcode
Xcode •Ruim, mas já foi pior! •Modinha nova: plugins ✓ColorSense-for-Xcode
✓KSImageNamed-Xcode http://mneorr.github.io/Alcatraz/
None
Sabe o que seria massa? Se eu pudesse usar alguma
coisa igual o maven.
Existe algo assim! Chama CocoaPods http://www.raywenderlich.com/12139/introduction-to-cocoapods
DEMO https://github.com/marcelofabri/devcamp-demo
“Acabei meu app. Vamos colocar na AppStore e ganhar milhões.”
É importante testar em dispostivos reais.
E o que isso significa?
DOR.
None
None
WHY?
Code Sign
Code Sign TestFlight HockeyApp
Relembrando •Só com Mac OSX •Objective-C •ARC •Xcode •CocoaPods •Code
Sign
E agora?
None
Links •https://developer.apple.com/ •http://www.raywenderlich.com/ •https://github.com/github/objective-c-conventions •http://informalprotocol.com/2012/10/declaring-blocks-in-objective-c/ •http://iosdevweekly.com/ •http://nshipster.com/ •http://amattn.com/2011/12/07/arc_best_practices.html •http://dannysu.com/2012/07/30/automatic-reference-counting-on-ios/ •http://www.mikeash.com/pyblog/friday-qa-2011-09-30-automatic-reference-
counting.html •http://conradstoll.com/blog/2013/1/19/blocks-operations-and-retain-cycles.html •https://speakerdeck.com/marcelofabri/e-se-eu-tivesse-um-delorean-tdc-2012 •http://www.raywenderlich.com/21987/top-10-most-useful-ios-libraries-to-know-and- love •http://www.raywenderlich.com/31166/25-ios-app-performance-tips-tricks
None
One more thing...
None
Obrigado! marcelofabri.com @marcelofabri_
[email protected]