Apple and iOS Appeared on June 2007apm/CMSW/docs/12IntroIOS_print.pdfGeneral Architecture Tools Apple and iOS iPhone Appeared on June 2007 OS named iPhone OS 1 First SDK appeared in

Post on 20-Jun-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

GeneralArchitecture

Tools

Apple and iOS iPhoneAppeared on June 2007 OS named iPhone OS 1 First SDK appeared in March 2008

OS and SDK renamed to iOS 4 on June 2010Multi-touch display, with gesture recognitionSensors (3-axis accelerometer, proximity, light)Camera (2 Mpixel) 3.5” 18 bit 320x480 2:3 aspect and 163 ppi displayRich audio and videoWireless comms GSM / GPRS / EDGEWi-Fi and Bluetooth

iOS Architecture 2

General Characteristics

iOS Architecture 3

iOS Operating System

2001

1996

1970

1977

19881997

1982

1991

1986

1981

2007

Bell Labs UNIX

Berkeley UNIX (BSD)

OpenBSD

NeXTStep

Darwin

Mac OS X

iOSGNU

Minix

Linux

Commercial UNIXes (HP-UX, AIX, Solaris, IRIX, …)

Android

2008

iOS and Hardware

iOS Architecture 4

iOS supplies the API’s needed todevelop the final user applicationsand some system applications

Those API’s are layered.

iOS itself can be considered as theintermediary between the applicationsand the hardware and other componentspresent in the device

In the first versions only one applicationcan use the screen and interact withthe user.

Layers of iOS APIs

iOS Architecture 5

Hardware

DriversDevice

iOS

Cocoa TouchUIKit: app integration, windows and graphics, event-handling,views and controls, web and text, access to sensors, cameraand photo library, device info

AddressbookCore Location

MediaGraphics: Quartz, animation, OpenGL ESAudioVideo

Core ServicesCore Foundation: collections, application bundle, data & time,raw data, preferences, URL, streams, port & sockets comms

CFNetwork: BSD sockets, FTP & HTTP protocols, Bonjour,DNS, SSL, TLS

Security: Certificates and keys, random numbers, keychainSQLiteXML: parser and transformations

Core OS - LibSystemthreads, networking, files, standard I/O, memory, math

Standard App Structure

iOS Architecture 6

Use the MVC pattern

XcodeSource editor Interface builder iOS simulatorDevelopment languages Objective-C (in the process of deprecation) Swift

Testing with XCTest (API for unit tests)Static and dynamic analysis

iOS Architecture 7

Development IDE Screen specification

iOS Architecture 8

Main.storyboard

A storyboard

The controller

iOS Architecture 9

////  AppDelegate.swift//  Control Fun

import UIKit

@UIApplicationMainclass AppDelegate: UIResponder, UIApplicationDelegate { 

var window: UIWindow?

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) ‐> Bool { 

// Override point for customization after application launch.return true    }

func applicationWillResignActive(application: UIApplication) {}func applicationDidEnterBackground(application: UIApplication) {}func applicationWillEnterForeground(application: UIApplication) { }func applicationDidBecomeActive(application: UIApplication) {}func applicationWillTerminate(application: UIApplication) { }

}

The ViewController

iOS Architecture 10

ViewController.swift@IBOutlet

Represents an object in theinterface builder

@IBAction

Handlers of events generated onthe interface objects

top related