This document provides an overview of iOS and mobile app development for Apple devices. It describes the core OS and services layers that make up iOS, including frameworks for graphics, media, cocoa touch, and core services. It also discusses the iOS application architecture and lifecycle, common UI elements, and tools for iOS development like Xcode. The document outlines many iOS concepts and terminologies to introduce developers to building apps for Apple mobile devices.
3. Operating System
What is operating system
Processes, memory, space, time, challenges
Similarity between mobile and
workstation/computer OS
Challenges with mobile OS
J2ME (Java 2 platform Micro Edition)
Tablet is thin line between mobile and
desktop/workstation
4. Apple iOS
No iOS v/s Android please!
Operating system with touch and gesture support
Memory and diskspace management
Too many restrictions – security
Derived from Macintosh OS X
Initially for iPhone, later on iPod & iPad
User interaction – few buttons & touch – gestures
APIs, APIs and lots of APIs wrapped in frameworks
6. Core OS Layer
Just understand, occasionally required, used by frameworks
Accelerate Framework (digital signal processing, linear algebra,
image-processing calculations)
Core Bluetooth Framework (Bluetooth)
External Accessory Framework (Square Card Reader)
Generic Security Services Framework
Local Authentication Framework (TouchID)
Network Extension Framework (VPN)
Security Framework (Cryptography & Keychain)
System
Currently 64 bit OS
7. Core Services Layer
Peer-to-Peer Services (Bluetooth connectivity)
iCloud Storage
Block Objects (programming - blocks)
Data Protection (encryption & restricting access to shared data)
File-Sharing Support (/Documents directory accessible)
Grand Central Dispatch
In-App Purchase
SQLite
XML Support
Frameworks - provides APIs to operate iCloud, CoreData,
AddressBook, Location, Media, HomeKit etc
8. Media Layer
Graphics & Image
Animation
OpenGL ES – 2D & 3D rendering
Metal – advanced level graphic rendering & manipulation
Text
Photo Library
Audio
Video
Frameworks provide APIs to operate on images, photos,
animation, audio-video playback & capture etc.
9. Cocoa Touch Layer
App Extensions (share, action, widget, photo editing, document sharing)
Handoff
AirDrop
Multitasking
Auto Layout
Storyboards
UI State Preservation
Apple Push Notification Service
Local Notifications
Gesture Recognizers
Standard System View Controllers (compose email, message, create/edit contact,
etc)
Frameworks - AddressBookUI, EventKitUI, MapKit, MessageUI, UIKit
10. Where’s application
Few apps shipped with iDevices like Contacts,
Maps, App Store, Camera, Calendar, Photos
and others
App Store is an app – marketplace to purchase
and install apps
And your own!
.app is compiled application, .ipa is archieved
and code signed app
11. But how to?
Development needs
Mac OS X system – iMac, MacBook, Mac Mini –
any
Softwares – xCode!
iDevice – good to have – testing
Of course, knowledge of iOS development,
objective-c, swift languages
12. Terminologies
Many terminologies, covering few
IBOutlet
IBAction
Classe
Function
Delegate
Block
Notification
ViewController
13. UI
Again, many ready made components available, covering few
Button
Label
Navigation
View
ImageView
ScrollView
Slider
Switch
ActionSheet
Alert
No ComboBox/DropDown, Radio Buttons, CheckBoxes – its Apple world
Your own custom UI component with your own behavior
14. How to put the controls
Storyboard / XIB
View Transition / Segue
Connect them with code