1/21

Lecture Mobile Application Development (119310)

iOS Development Introduction

2/21

Agenda

3/21

iOS Overview - Facts

4/21

iOS Architecture

center 70%

5/21

Application Runtime Environment

6/21

Application Runtime Environment

7/21

Application Structure

Each iOS app is composed of at least the following parts:

  • Datamodel (app dependent)
    • Class: e.g. UIDocument
  • Controller
    • Classes: UIApplication, UIViewController
    • Protocol: UIApplicationDelegate
  • View
    • Classes: UIWindow, UIView based classes

center 80% Source: Apple

8/21

Application Life Cycle

  • Different application states
State Description
Not running The application has not been launched or was running but was terminated by the system
Inactive The application is running in the foreground but is currently not receiving events
Active The application is running in the foreground and is receiving events.
Background The application is in the background and executing code (only iOS > v.4)
Suspended The application is in the background but is not executing code (only iOS > v.4)

center 70% Source: Apple

9/21

Application Life Cycle

center 60%

Source: Apple

10/21

Application Life Cycle

center 60%

Source: Apple

11/21

Application Life Cycle

center 50%

Source: Apple

12/21

Application Life Cycle

center 50%

Source: Apple

13/21

Application Life Cycle

center 50%

Source: Apple

14/21

Application Life Cycle

http://vimeo.com/34660348

15/21

Development Tools

  • Xcode: IDE including Debugger
    • IDE for Mac OS X and iOS
    • Sourcecode editor
    • Debugging in simulator and remote on device supported
    • Compiler: Apple LLVM Compiler
    • Current version: 10.x

center 80%

16/21

Development Tools

  • Simulator (not an emulator)
  • Simulating the iOS devices using iOS libraries on Mac OS X
  • Uses Intel code, simulates GPS, multitouch (pressing alt), shaking the device and orientation changes
  • Logs error messages to console

center 40%

17/21

Development Tools

center 60%

18/21

Development Tools

center 60%

19/21

Development Tools

center 60%

Source: Apple

20/21

Assignment

21/21

Recap Questions