IOS native application development

iOS App Development training course is designed to provide an understanding of fundamentals and advanced features of iOS application development. Building iOS 7 Applications class teaches attendees how to build iOS 7 native applications for iPhone and iPad using Objective-C and Apple's Cocoa Touch framework.

COURSE AGENDA

  • Driver Layering
  • Families and Drivers
  • Drivers and Nubs
  • The Anatomy of an I/O Connection
  • The Runtime Environment of Device Drivers
  • Runtime Features
  • Kernel Programming Constraints
  • The I/O Registry and the I/O Catalog
  • Driver Matching
  • The I/O Kit Class Hierarchy
  • The OS Classes
  • The General I/O Kit Classes
  • The I/O Kit Family Classes
  • Controlling Devices From Outside the Kernel
  • The Device - Interface Mechanism
  • POSIX Device Files
  • Before You Begin
  • I/O Kit Features
  • Design Principles of the I/O Kit
  • Limitations of the I/O Kit
  • Language Choice
  • Using Namespaces in an I/O Kit Driver
  • Using Static Constructors in an I/O Kit Driver
  • The Parts of the I/O Kit
  • Frameworks and Libraries
  • Applications and Tools
  • Other I/O Kit Resources
  • Should You Program in the Kernel?
  • When Code Should Reside in the Kernel
  • Alternatives to Kernel-Resident Code
  • I/O Registry Architecture and Construction 37
  • The I/O Registry Explorer 39
  • Driver Personalities and Matching Languages
  • Driver Matching and Loading
  • Driver Matching
  • Device Probing
  • Driver Loading
  • Device Matching
  • The libkern Base Classes
  • Object Creation and Disposal (OSObject)
  • Runtime Type Information (OSMetaClass)
  • Defining C++ Classes in libkern
  • The I/O Kit Base Classes
  • Dynamic Driver Registration (IORegistryEntry)
  • Basic Driver Behavior (IOService)
  • Drivers and Families
  • Families As Libraries
  • Library Versioning
  • Library Loading
  • The Programmatic Structure of Families
  • Typical Classes
  • Naming and Coding Conventions
  • Creating An I/O Kit Family
  • Work Loops
  • Work Loop Architecture
  • Shared and Dedicated Work Loops
  • Examples of Obtaining Work Loops
  • Event Sources
  • Handling Interrupts
  • Handling Timer Events
  • I/O Requests and Command Gates
  • Handling I/O Transfers
  • Memory Descriptors and Memory Cursors
  • Memory in an I/O Request
  • Issues With 64 - Bit System Architectures
  • Relaying I/O Requests
  • More on Memory Descriptors
  • More on Memory Cursors
  • DMA and System Memory
  • Dealing With Hardware Constraints
  • IOMemoryCursor Subclasses
  • Power Events
  • The Power Plane: A Hierarchy of Power Dependencies
  • Devices and Power States
  • Deciding How to Implement Power Management in Your Driver
  • Implementing Basic Power Management
  • Implementing Advanced Power Management
  • Defining and Using Multiple Power States
  • Changing the Power State of a Device
  • Implementing Idleness Determination and Idle Power Saving
  • Receiving Notification of Power-State Changes in Other Devices
  • Receiving Shutdown and Restart Notifications
  • Keeping Power On for Future Device Attachment
  • The Phases of Device Removal
  • Making Drivers Inactive
  • Clearing I/O Queues
  • Detaching and Releasing Objects