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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
230
Redux + MQTT
dalog
1
800
От задач к проблемам
dalog
1
280
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
320
Mobile backend without REST
dalog
2
140
Self managed teams 101
dalog
0
190
Other Decks in Programming
See All in Programming
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
370
Feature Toggle は捨てやすく使おう
gennei
0
520
セグメントとターゲットを意識するプロポーザルの書き方 〜採択の鍵は、誰に刺すかを見極めるマーケティング戦略にある〜
m3m0r7
PRO
0
410
PHPで TLSのプロトコルを実装してみる
higaki_program
0
750
存在論的プログラミング: 時間と存在を記述する
koriym
5
850
Don't Prompt Harder, Structure Better
kitasuke
0
660
2026-03-27 #terminalnight 変数展開とコマンド展開でターミナル作業をスマートにする方法
masasuzu
0
320
The Monolith Strikes Back: Why AI Agents ❤️ Rails Monoliths
serradura
0
290
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
220
Offline should be the norm: building local-first apps with CRDTs & Kotlin Multiplatform
renaudmathieu
0
180
Radical Imagining - LIFT 2025-2027 Policy Agenda
lift1998
0
250
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
5
2.5k
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1.1k
AI: The stuff that nobody shows you
jnunemaker
PRO
5
530
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
The Limits of Empathy - UXLibs8
cassininazir
1
290
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
360
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
Testing 201, or: Great Expectations
jmmastey
46
8.1k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
240
Code Reviewing Like a Champion
maltzj
528
40k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
94
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?