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
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
280
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Applications and iOS
Small guide for different stages of application life in iOS system.
DAloG
February 24, 2015
Transcript
30 slides
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?
More Decks by DAloG
See All by DAloG
State normalization (RU)
dalog
0
260
Redux + MQTT
dalog
1
840
От задач к проблемам
dalog
1
300
Unlimited power of Data-Driven UI
dalog
4
720
Data-Driven View Controllers. Tips and Tricks
dalog
5
2k
2 years of Redux in iOS. Lessons learned
dalog
0
440
Why unidirectional architecture matter for iOS.
dalog
1
350
Mobile backend without REST
dalog
2
160
Self managed teams 101
dalog
0
220
Other Decks in Programming
See All in Programming
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
16
9.1k
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
2.3k
Vue.jsで作る空間解析アプリとCapacitorプラグインのData Bridge
hal_spidernight
1
170
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
370
LLM 101
dalinaum
0
480
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
320
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
370
[DroidKnights 2026] Workflow AX: From Auto-Documented Policies to E2E Testing
raeminkang
0
570
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
230
Crash Auto Pipelines
veronikapj
1
410
flutter_test のその先へ — Flutter アプリの LLM 機能に「評価」という品質保証を
kosukesaigusa
0
200
baseline으로 마이그레이션, 리팩토링 안전하게 맡기기
fornewid
1
980
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3.1k
Between Models and Reality
mayunak
4
580
Faster Mobile Websites
deanohume
310
32k
YesSQL, Process and Tooling at Scale
rocio
174
15k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.3k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Skip the Path - Find Your Career Trail
mkilby
1
290
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
530