I os2 2

24
iOS 2 PiTechnologies AHMED YOSSEF

description

This is the first lecture in the iPhone Course in FCI - Cairo University by PiTechnologiesThis is part two of the first day about "Introduction to iOS"

Transcript of I os2 2

Page 1: I os2 2

iOS 2PiTechnologies

A H M E D Y O S S E F

Page 2: I os2 2

WWW.PITECHNOLOGIES.NET

Agenda

iOS Architecture

Cocoa Touch Layer

Media Layer

Core Services Layer

Core OS

Most Used

Page 3: I os2 2

iOS Architecture

Page 4: I os2 2

WWW.PITECHNOLOGIES.NET

iOS Layers

Cocoa Touch Layer

Media Layer

Core Service Layer

Core OS Layer

Objective-C

Objective-C

C

C

Page 5: I os2 2

WWW.PITECHNOLOGIES.NET

What is Layer

Layer is a group of frameworks, has common purpose.

In general you don’t use all layers, you also don’t use all frameworks in certain used layer.

Page 6: I os2 2

WWW.PITECHNOLOGIES.NET

What is Framework ?

Framework: is a directory that contains a dynamic shared library and the resources (such as header files, images, helper applications, and so on) needed to support that library.

Framework: helps you to write applications independent of the hardware.

Page 7: I os2 2

Core OS Layer

Page 8: I os2 2

WWW.PITECHNOLOGIES.NET

Layer Role

The Core OS layer contains the low-level features that most other technologies are built upon. Even if you do not use these technologies directly in your applications, they are most likely being used by other frameworks. And in situations where you need to explicitly deal with security or communicating with an external hardware accessory, you do so using the frameworks in this layer.

Page 9: I os2 2

WWW.PITECHNOLOGIES.NET

Main Frameworks

Accelerate.framework

ExternalAccessory.framework

Security.framework

System.framework

Threading, Networking, Files IO, Standard IO, Memory and Math

Page 10: I os2 2

Core Service Layer

Page 11: I os2 2

WWW.PITECHNOLOGIES.NET

Layer Role

The Core Services layer contains the fundamental system services that all applications use. Even if you do not use these services directly, many parts of the system are built on top of them.

Page 12: I os2 2

WWW.PITECHNOLOGIES.NET

Main FrameworksAddress Book framework (AddressBook.framework)

CFNetwork Framework (CFNetwork.framework)

Core Data Framework (CoreData.framework)

Core Foundation Framework (CoreFoundation.framework)

Core Media Framework (CoreMedia.framework)

Core Telephony Framework (CoreTelephony.framework)

Page 13: I os2 2

WWW.PITECHNOLOGIES.NET

Main FrameworksEventKit Framework (EventKit.framework)

Foundation Framework (Foundation.framework)

Core Location Framework (CoreLocation.framework)

Mobile Core Services Framework(MobileCoreServices.framework)

Store Kit Framework (StoreKit.framework)

SQLite library

System Configuration Framework (SystemConfiguration.framework)

Quick Look Framework (QuickLook.framework)

Page 14: I os2 2

Media Layer

Page 15: I os2 2

WWW.PITECHNOLOGIES.NET

Layer Role

The Media layer contains the graphics, audio, and video technologies geared toward creating the best multimedia experience available on a mobile device. The technologies in this layer were designed to make it easy for you to build applications that look and sound great.

Page 16: I os2 2

WWW.PITECHNOLOGIES.NET

Main Frameworks - VideoCore Video (CoreVideo.framework)

Core Text Framework (CoreText.framework)

Image I/O Framework (ImageIO.framework)

Assets Library Framework (AssetsLibrary.framework)

Core Graphics Framework (CoreGraphics.framework)

Quartz Core Framework (QuartzCore.framework)

OpenGL ES framework (OpenGLES.framework)

Page 17: I os2 2

WWW.PITECHNOLOGIES.NET

Main Frameworks - AudioAV Foundation framework (AVFoundation.framework)

Core Audio Frameworks (CoreAudio.framework, AudioToolbox.framework and AudioUnit.framework)

Open Audio Library (OpenAL)

Media Player framework (MediaPlayer.framework)

Core Midi Framework (CoreMIDI.framework)

Page 18: I os2 2

Cocoa Touch Layer

Page 19: I os2 2

WWW.PITECHNOLOGIES.NET

Layer Role

The Cocoa Touch layer contains the key frameworks for building iOS applications. This layer defines the basic application infrastructure and support for key technologies such as multitasking, touch-based input, push notifications, and many high-level system services. When designing your applications, you should investigate the technologies in this layer first to see if they meet your needs.

Page 20: I os2 2

WWW.PITECHNOLOGIES.NET

Main Frameworks

AddressBookUI.framework

EventKitUI.framework

GameKit.framework

iAd.framework

MapKit.framework

MessageUI.framework

UIKit.framework

Page 21: I os2 2

Most Used

Page 22: I os2 2

WWW.PITECHNOLOGIES.NET

Most Used Frameworks

During development you mainly need two frameworks:

UIKit framework - Cocoa framework

Foundation framework - Core service framework

Page 23: I os2 2

WWW.PITECHNOLOGIES.NET

UIKit.framework

The UIKit framework (UIKit.framework) provides the key infrastructure for implementing graphical, event-driven applications in iOS

Main Features:

User interface,

Graphics

Touch events

Page 24: I os2 2

WWW.PITECHNOLOGIES.NET

Foundation.framework

The Foundation framework (Foundation.framework) provides Objective-C wrappers to many of the features found in the Core Foundation framework

Main Features:

Collection data types (arrays, sets, and so on)

String management, Date and time management

Raw data block management

Preferences management

URL and stream manipulation

Threads and run loops