Andri Yadi
President, ID-ObjC | CEO, DyCode
@andri_yadi | a (at) dycode (dot) com
http://andriyadi.me
Introduction to iOS Development
O ine Class Jasakomer (Special iOS), April 15, 2012
Slide 2
Slide 2 text
about me
Slide 3
Slide 3 text
The rst & largest iOS & OSX
developer community in Indonesia
ID-ObjectiveC
President
Slide 4
Slide 4 text
4 years in a row
Slide 5
Slide 5 text
2011 - now
Slide 6
Slide 6 text
start a company & code for food
9 years in mobile development
Slide 7
Slide 7 text
a movie freak
Slide 8
Slide 8 text
iOS Devices
Slide 9
Slide 9 text
No content
Slide 10
Slide 10 text
21
Start developing iOS apps Today!
Slide 11
Slide 11 text
http://developer.apple.com/ios
Slide 12
Slide 12 text
Xcode iOS Simulator iOS Developer Library
Slide 13
Slide 13 text
Required Stu s
Slide 14
Slide 14 text
No content
Slide 15
Slide 15 text
Latest iOS SDK
Slide 16
Slide 16 text
27
Installing Tools
Slide 17
Slide 17 text
Optional Stu s
Slide 18
Slide 18 text
Actual iOS devices
Slide 19
Slide 19 text
For debugging to device & deployment to AppStore
Slide 20
Slide 20 text
Some development stuffs
Slide 21
Slide 21 text
Objective-C
C + OOP ≠ C++
Slide 22
Slide 22 text
A superset of C:
• Syntactical convention for de ning
classes & method
• Syntax for method invocation
• Syntax for declaring & synthesizing
properties
• Static & dynamic typing
• Blocks
• Extension: protocol & categories
Objective-C Advantages:
• Dynamic typing:
enables to determine the class of an object
at runtime
• Dynamic binding:
allows to determine the method to call at
runtime instead of at compile-time
• Dynamic loading:
allows to add modules of code & other
resources at runtime.
Reference counting
No garbage collector support (yet)
Autorelease Pool
Memory Management
Slide 33
Slide 33 text
iOS frameworks
Slide 34
Slide 34 text
No content
Slide 35
Slide 35 text
Enable apps to store user documents
and key value data
Storage
Push changes to all user’s computers
and devices
Slide 36
Slide 36 text
Easily integrate Tweet Sheet
Access system-wide Twitter account
from within app
Wrap OAuth request & response
Slide 37
Slide 37 text
Memory management becomes
compiler’s job
Manually enabled in Xcode
It’s NOT a garbage collector!
Automatic Reference
Counting (ARC)
No need to deal with retain & release
by yourself
Slide 38
Slide 38 text
Layout the app’s work ow & design
user interfaces
Can be loaded dynamically
Storyboard
Specify transitions & segues between
views
Slide 39
Slide 39 text
Image processing framework nally
comes to iOS
Advanced features: red-eye reduction,
face recognition
CoreImage
Provides built-in lters: color e ect,
distortions, transitions
Slide 40
Slide 40 text
Take advantage of the latest hardware
Apple-developed OpenGL ES extensions
GLKit: new high-level framework