3. 1. Core OS Layer
Core Bluetooth
Accelerate
Security Services
- Large calculations, image processing, DSP
Overriding is unsupported
I/O Kit
4. 2. Core Services Layer
Foundation
- Obj C wrapper of C based core foundation
- Base layer of functionalities
Specialised Frameworks
- CoreLocation
- CloudKit
- CallKit
- CFNetwork
6. 4. Cocoa Touch Layer
UIKit Framework
- Primarily written in obj C
- Parent of all visual elements
- Lifecycle management
Push Notifications
Apple Push
Notification Service
Third
Party
Server
7. Model View Controller (MVC)
MVCControlle
r
View
Model
Notify
Update
Update
User Action
8. • Always try to use higher level APIs
• View Controller - about 130 lines
• View should not store model data
• Use US English - Apple API
• Follow camelCase naming convention
Design Guide &
Best Practices