Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Applications and iOS
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
DAloG
February 24, 2015
Programming
270
0
Share
Applications and iOS
Small guide for different stages of application life in iOS system.
DAloG
February 24, 2015
More Decks by DAloG
See All by DAloG
State normalization (RU)
dalog
0
240
Redux + MQTT
dalog
1
820
От задач к проблемам
dalog
1
290
Unlimited power of Data-Driven UI
dalog
4
690
Data-Driven View Controllers. Tips and Tricks
dalog
5
2k
2 years of Redux in iOS. Lessons learned
dalog
0
410
Why unidirectional architecture matter for iOS.
dalog
1
330
Mobile backend without REST
dalog
2
140
Self managed teams 101
dalog
0
200
Other Decks in Programming
See All in Programming
Oxlintのカスタムルールの現況
syumai
5
800
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
900
AIエージェントと協働するCLI開発 — BunとOpenClawで学んだこと
yoshikouki
1
220
さぁV100、メモリをお食べ・・・
nilpe
0
100
RTSPクライアントを自作してみた話
simotin13
0
300
Talking to terminals (and how they talk back) (KotlinConf 2026)
jakewharton
PRO
1
150
[KCD Czech] eBPF Meets the GPU: Future of AI Infra Observability
doniacld
0
110
iOS26時代の新規アプリ開発
yuukiw00w
0
210
JavaDoc 再入門
nagise
0
190
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
6
1.2k
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
300
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
1
650
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
210
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
410
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
310
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Rails Girls Zürich Keynote
gr2m
96
14k
Scaling GitHub
holman
464
140k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Paper Plane
katiecoart
PRO
1
50k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
220
Visualization
eitanlees
152
17k
Transcript
APPLICATIONS IN IOS LONG WAY DOWN Alexey Demedeckiy
AGENDA • Compilation • Packaging • Signing • Sandbox •
Rendering • IPC
COMPILATION • Object system • Runtime • LLVM IR •
Linking • Memory management
OBJECT SYSTEM • Object === C struct • isa -
link to class • Class == Object • Object -> Class -> Metaclass -> NSObject
OBJECTS AND CLASSES AND METACLASSES
RUNTIME • Message sending • @selector(…) • ALL is dynamic
• Swift
LLVM
LINKING • Static (user content) • Dynamic (system frameworks)
MEMORY MANAGEMENT • 2 kind of link: own (strong), use
(weak) • When nobody own an object - destroy it. • Autorelease pool - tmp objects without owners.
PACKAGING • Apps • Bundles • Frameworks • Resources
FINAL APP FOLDER STRUCTURE
APP STRUCTURE
FRAMEWORK STRUCTURE
RESOURCES • Text • Locale specific • Device specific •
System
TEXT
IMAGES
DEVICE SPECIFIC • ~iphone, ~ipad • @2x, @3x • -568
• Asset catalog
ASSET CATALOG • Resizable images • Size class support (orientation,
device) • Smaller
ASSET CATALOG
SYSTEM RESOURCES • iTunes icon • Settings icon • Spotlight
icon • App icon • … (tens of them)
SIGNING
SANDBOX • Only app folder is available. • No access
to other processes. • All system communication - over frameworks
RENDERING • UIKit • CoreAnimation + CoreGraphics • backboardd. (another
process) • 16,5 ms for rendering
IPC • Inter app - over frameworks. • Limited use
cases. • System communication (Photos, Mail, Maps). • URL schemes.
LINKS - COMPILATION • http://www.objc.io/issue-6/mach-o-executables.html • http://clang.llvm.org/docs/IntroductionToTheClangAST.html • http://www.aosabook.org/en/llvm.html •
http://www.objc.io/issue-6/compiler.html
LINKS - RUNTIME • https://www.youtube.com/watch?v=Ii-02vhsdVk • http://habrahabr.ru/post/250955/
LINKS - RESOURCES • https://developer.apple.com/library/ios/recipes/xcode_help- image_catalog-1.0/chapters/CustomizingImageSets.html#// apple_ref/doc/uid/TP40013303-CH5-SW1 • https://developer.apple.com/library/ios/documentation/MacOSX/ Conceptual/BPInternational/MaintaingYourOwnStringsFiles/
MaintaingYourOwnStringsFiles.html • https://developer.apple.com/library/ios/documentation/MacOSX/ Conceptual/BPFrameworks/Frameworks.html#//apple_ref/doc/uid/ 10000183-SW1
LINKS - SIGNINIG • http://www.objc.io/issue-17/inside-code-signing.html • https://developer.apple.com/library/ios/documentation/IDEs/ Conceptual/AppDistributionGuide/Introduction/ Introduction.html#//apple_ref/doc/uid/TP40012582-CH1-SW1
LINKS - RENDERING • https://speakerdeck.com/vtopoliuk/responsive-ui-for-ios-apps • https://developer.apple.com/videos/wwdc/2011/#121
[email protected]
Questions?