SlideShare a Scribd company logo
iPhone SDK App Development
part 1: a very concise introduction
iPhone SDK

the iPhone OS and iPhone SDK dates back to 15+ years
ago - both originate from NeXTStep

consists of Xcode, Interface Builder, Instruments, iPhone
Simulator and more...

free download!

developer.apple.com/iphone
iPhone SDK Essential Facts



pre-requisites:   Intel Mac, Mac OS X 10.5 Leopard, Obj C, OO programming concepts
                  patience, clean mindset


test on real
devices &
                  iPhone developer programme ($99 per year)
AppStore
submission:
The iPhone OS

 cocoa touch: UIKit framework (iphone specific), Foundation
 framework (wrappers to Core Foundation String, network,
 data structures, i18n.etc.)


 media layer: Quartz (2d vector based drawing api), Core
 Animation, OpenGL, Audio, Video codecs


 core services layer: Address Book, Core Foundation, Core
 Location, Security, SQLite, XML


core OS layer: Threading, IO, Memory, File Access, Networking
Objective-C: a quick look                      like C++/Java, but weirder


most of the OO and C++/Java concepts apply, like inheritance, polymorphism.etc.


some syntax difference to make you aware being in Obj-C or C space


you don’t invoke object instances, you send messages to them indirectly


java:    calculator.sum(num1Value, num2Value, num3Value);

c++:     calculator-> sum(num1Value, num2Value, num3Value);

obj-c:   [calculator sum: num1Value withNum2:num2Value withNum3: num3Value]
A typical Objective C class
#import <Foundation/Foundation.h>


@interface SomeClass:SomeParentClass
{
    BOOL someBooleanValue;
    @private int someNumber;
   $protected NSString someString;
}

+   (id) alloc;
+   (BOOL) anotherClassMethod;
-   (BOOL) returnSomeBooleanValueMethod;
-   (NSString) getSomeStringMethod;
-   (void) setValueOfSomeString: (NSString)someString;

@end
UIKit



runtime foundation for iPhone apps


apps created in Xcode are linked to UIKit


Objective-C framework for event handling, drawing model, windows,
views, and controls designed for iPhone
UIKit elements          only covers the basics today




UIWindow: space on a screen, like a picture frame

UIView: base class of all visual objects. like a canvas.

View Controller handles multiple views,
orientation changes, transitions.etc.
The First App      app that displays an empty view




                                    HelloViewAppDelegate
          main.m
                                          <interface>




                                    HelloViewAppDelegate
                                            <impl>
main.m created by Xcode
main.m
         hooks up obj-c framework
         creates auto-release pool
HelloViewAppDelegate
main.m
               <interface>




         HelloViewAppDelegate
                 <impl>
HelloViewAppDelegate   app delegate class: main helper class for handling
        <impl>         important life-cycle events


                                                 often the bridge between your
                                                 app and system frameworks,
                                                 e.g. CoreLocation
creates a UIView object with size of whole screen

add the view to main UIWindow object

make window visible

mark the objects for release upon exit
demo
Adding a bit of text

for convenience, create a MainView class extending
from UIView, attach an UITextView object to it, then
add it back to the main window object



                                HelloViewAppDelegate   MainView
  main.m
                                      <interface>




                                HelloViewAppDelegate
                                        <impl>
HelloWoldAppDelegate.h
init a MainView object

sets “Hello, World!” to its UITextView object

attach it to the app delegate window object
demo
Adding orientation change support

create a ViewController class to do the heavy lifting




                              ControllerDemoAppDelegate   ControlDemoView
 main.m                                                      Controller
                                       <interface>




                              ControllerDemoAppDelegate
                                         <impl>
init custom ViewController object
in this ViewController object,
didRotateFromInterfaceOrientation()
is overridden to change the text
whenever the iPhone is rotated
demo
end of part i




next:

TabViewControllers, Interface Builder, Window Applications,
Frameworks, AppStore submission and more

More Related Content

PPT
Ios - Introduction to platform & SDK
PPTX
Titanium Appcelerator - Beginners
PPTX
iOS app dev Training - Session1
PDF
Ios actions and outlets
PPT
Getting started with android dev and test perspective
PPT
Getting started with android studio
PPT
Google Android
PPTX
Android programming basics
Ios - Introduction to platform & SDK
Titanium Appcelerator - Beginners
iOS app dev Training - Session1
Ios actions and outlets
Getting started with android dev and test perspective
Getting started with android studio
Google Android
Android programming basics

What's hot (18)

PPTX
Presentation
KEY
Titanium appcelerator sdk
PDF
jsf2 Notes
PPT
Beginning Native Android Apps
PDF
Baruco 2014 - Rubymotion Workshop
PDF
Training Session 2
PDF
UIViewControllerのコーナーケース
PPT
Synapseindia android apps application
PPTX
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
PDF
Mobile Application Development with JUCE and Native API’s
PDF
Introduction to State Restoration in Flutter
PPTX
04 activities - Android
PPT
Android
DOCX
Activity
PDF
Android - From Zero to Hero @ DEVit 2017
DOC
Day 4: Activity lifecycle
DOCX
Android xml-based layouts-chapter5
PPT
Android tutorial
Presentation
Titanium appcelerator sdk
jsf2 Notes
Beginning Native Android Apps
Baruco 2014 - Rubymotion Workshop
Training Session 2
UIViewControllerのコーナーケース
Synapseindia android apps application
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
Mobile Application Development with JUCE and Native API’s
Introduction to State Restoration in Flutter
04 activities - Android
Android
Activity
Android - From Zero to Hero @ DEVit 2017
Day 4: Activity lifecycle
Android xml-based layouts-chapter5
Android tutorial
Ad

Similar to iPhone SDK dev sharing - the very basics (20)

PPTX
Hello world ios v1
PDF
Quick Start to iOS Development
PPTX
Code camp 2011 Getting Started with IOS, Una Daly
PDF
React Native for multi-platform mobile applications
PPT
Cross-platform mobile dev with Mono
PDF
Introduction of Xcode
PPTX
Ios development 2
PPTX
Lecture 1 Introduction to React Native.pptx
PPT
ios basics
PPT
Android presentation
PDF
Ruby motion勉強会 2012年7月
PPTX
Net conf BG xamarin lecture
PDF
Swift
PPTX
New to native? Getting Started With iOS Development
PPTX
MVVM Design Pattern NDC2009
PPTX
Exploring iTools
PDF
SwiftUI - Performance and Memory Management
PDF
Intro to iOS Application Architecture
PDF
Visual Studio 2017 Launch Event
Hello world ios v1
Quick Start to iOS Development
Code camp 2011 Getting Started with IOS, Una Daly
React Native for multi-platform mobile applications
Cross-platform mobile dev with Mono
Introduction of Xcode
Ios development 2
Lecture 1 Introduction to React Native.pptx
ios basics
Android presentation
Ruby motion勉強会 2012年7月
Net conf BG xamarin lecture
Swift
New to native? Getting Started With iOS Development
MVVM Design Pattern NDC2009
Exploring iTools
SwiftUI - Performance and Memory Management
Intro to iOS Application Architecture
Visual Studio 2017 Launch Event
Ad

More from kenshin03 (8)

KEY
Apple inc and Steve Jobs - a bit of history
KEY
Visualizing the Search Tail
PDF
Good presentation styles
KEY
Iphone os dev sharing with new examples
PPT
Css Primer - basic stuff
PDF
Search Monkey Overview
PPT
Yahoo! Search Monkey in 3 slides
PDF
Geo search introduction
Apple inc and Steve Jobs - a bit of history
Visualizing the Search Tail
Good presentation styles
Iphone os dev sharing with new examples
Css Primer - basic stuff
Search Monkey Overview
Yahoo! Search Monkey in 3 slides
Geo search introduction

Recently uploaded (20)

PPTX
MYSQL Presentation for SQL database connectivity
PDF
Empathic Computing: Creating Shared Understanding
PPT
Teaching material agriculture food technology
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Cloud computing and distributed systems.
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
KodekX | Application Modernization Development
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
cuic standard and advanced reporting.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Big Data Technologies - Introduction.pptx
MYSQL Presentation for SQL database connectivity
Empathic Computing: Creating Shared Understanding
Teaching material agriculture food technology
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Per capita expenditure prediction using model stacking based on satellite ima...
Chapter 3 Spatial Domain Image Processing.pdf
A Presentation on Artificial Intelligence
Review of recent advances in non-invasive hemoglobin estimation
Cloud computing and distributed systems.
NewMind AI Weekly Chronicles - August'25 Week I
KodekX | Application Modernization Development
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Network Security Unit 5.pdf for BCA BBA.
cuic standard and advanced reporting.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Unlocking AI with Model Context Protocol (MCP)
Big Data Technologies - Introduction.pptx

iPhone SDK dev sharing - the very basics

  • 1. iPhone SDK App Development part 1: a very concise introduction
  • 2. iPhone SDK the iPhone OS and iPhone SDK dates back to 15+ years ago - both originate from NeXTStep consists of Xcode, Interface Builder, Instruments, iPhone Simulator and more... free download! developer.apple.com/iphone
  • 3. iPhone SDK Essential Facts pre-requisites: Intel Mac, Mac OS X 10.5 Leopard, Obj C, OO programming concepts patience, clean mindset test on real devices & iPhone developer programme ($99 per year) AppStore submission:
  • 4. The iPhone OS cocoa touch: UIKit framework (iphone specific), Foundation framework (wrappers to Core Foundation String, network, data structures, i18n.etc.) media layer: Quartz (2d vector based drawing api), Core Animation, OpenGL, Audio, Video codecs core services layer: Address Book, Core Foundation, Core Location, Security, SQLite, XML core OS layer: Threading, IO, Memory, File Access, Networking
  • 5. Objective-C: a quick look like C++/Java, but weirder most of the OO and C++/Java concepts apply, like inheritance, polymorphism.etc. some syntax difference to make you aware being in Obj-C or C space you don’t invoke object instances, you send messages to them indirectly java: calculator.sum(num1Value, num2Value, num3Value); c++: calculator-> sum(num1Value, num2Value, num3Value); obj-c: [calculator sum: num1Value withNum2:num2Value withNum3: num3Value]
  • 6. A typical Objective C class #import <Foundation/Foundation.h> @interface SomeClass:SomeParentClass { BOOL someBooleanValue; @private int someNumber; $protected NSString someString; } + (id) alloc; + (BOOL) anotherClassMethod; - (BOOL) returnSomeBooleanValueMethod; - (NSString) getSomeStringMethod; - (void) setValueOfSomeString: (NSString)someString; @end
  • 7. UIKit runtime foundation for iPhone apps apps created in Xcode are linked to UIKit Objective-C framework for event handling, drawing model, windows, views, and controls designed for iPhone
  • 8. UIKit elements only covers the basics today UIWindow: space on a screen, like a picture frame UIView: base class of all visual objects. like a canvas. View Controller handles multiple views, orientation changes, transitions.etc.
  • 9. The First App app that displays an empty view HelloViewAppDelegate main.m <interface> HelloViewAppDelegate <impl>
  • 10. main.m created by Xcode main.m hooks up obj-c framework creates auto-release pool
  • 11. HelloViewAppDelegate main.m <interface> HelloViewAppDelegate <impl>
  • 12. HelloViewAppDelegate app delegate class: main helper class for handling <impl> important life-cycle events often the bridge between your app and system frameworks, e.g. CoreLocation
  • 13. creates a UIView object with size of whole screen add the view to main UIWindow object make window visible mark the objects for release upon exit
  • 14. demo
  • 15. Adding a bit of text for convenience, create a MainView class extending from UIView, attach an UITextView object to it, then add it back to the main window object HelloViewAppDelegate MainView main.m <interface> HelloViewAppDelegate <impl>
  • 17. init a MainView object sets “Hello, World!” to its UITextView object attach it to the app delegate window object
  • 18. demo
  • 19. Adding orientation change support create a ViewController class to do the heavy lifting ControllerDemoAppDelegate ControlDemoView main.m Controller <interface> ControllerDemoAppDelegate <impl>
  • 21. in this ViewController object, didRotateFromInterfaceOrientation() is overridden to change the text whenever the iPhone is rotated
  • 22. demo
  • 23. end of part i next: TabViewControllers, Interface Builder, Window Applications, Frameworks, AppStore submission and more