Advanced development with Apple iOS

days
Training code

Upcoming sessions

Learning Goals

This course will complete your skills as a seasoned iOS developer by making you proficient with advanced layout, data persistance, communication with servers, and asynchronous programming. This training is also ideal for developers who want to upgrade their existing skills to iOS 6, XCode 4 and Storyboards.

Target Audience

This course is intended for Object-C developers who want to expand their knowledge and skills for creating applications running on the iPad, iPhone or iPod Touch.

Prerequisites

Participants of this course should have good knowledge of the Objective-C programming language and have used XCode. Basic knowledge of iOS development with XCode is also required. The U2U course UiOSC or equivalent is a prerequisite.

Course Outline

Autorotation and Autosizing

You'll learn how to make optimal use of the limited available screen estate, for example when the user switches from portrait to landscape view... We will look at Struts and Springs, but also at the new AutoSize functionality introduced in iOS 6.

  • Responding to device rotations
  • Programmatically rotating the screen
  • Autosize Attributes
  • Xcode Struts and Springs
  • Using the new Xcode AutoSize

Multi view applications

If one view can no longer contain all the information that you want to show, extra views can become necessary. We discuss how to switch between content views.

  • Architecture of a multi view application
  • Using the NavigationViewController
  • Performing segues
  • Animating transitions

Table Views and Navigation Controllers

A table view presents a scrollable list of items that may be divided into sections, and are often used for hierarchical navigation.

  • Table View Styles
  • The Table View API
  • Table-View Cells
  • Managing Selections
  • Inserting rows and deleting selections
  • Reordering
  • Search Bar
  • Navigating through complex hierarchies
  • Objects of a navigation interface
  • Navigation controllers
  • Navigation stack
  • Navigation toolbars

iPad Specific UI

You'll explore the additional features that help to create apps that better utilize the iPad screen size and usage patterns.

    Tablet Considerations
  • Split Views
  • Modal Modes
  • Popovers
  • New Input Methods
  • Conditional behavior

Implementing Application Preferences

Creating user-customizable applications means managing, saving and using user settings.

  • The Settings Application Interface
  • Settings Bundle
  • Creating and modifying the Settings Bundle
  • Configuring a Settings Page

Data Persistence

iOS has a set of tools and frameworks for storing, accessing, and sharing data. Core Data is a data modeling framework, while SQLite is perfect for low-level relational database work. Apps can share data using a URL-based system that works across all of iOS. iOS apps even have access to a device’s global data such as contacts in the Address Book, and photos in the Photo Library.

  • Core Data Basics
  • Using SQLite
  • Using Core Data

Storying your data in the cloud

How about storying your data in the cloud? This will automatically make the data available on all your devices

  • Intro to iCloud
  • Storying data in iCloud
  • Letting the user decide to store locally or in the cloud

Programming the Multitouch interface

Because an iPad or iPhone screen can detect multiple touches at the same time and track them independently, apps are able to detect a wide range of gestures, giving the user power that goes beyond classical user interfaces. In this module you will learn about gesture recognizers and even how to build your own.

  • Events and Touches in iOS
  • The Multitouch architecture
  • Responder chain enabling cooperative event handling
  • Taps, touches, gestures
  • Gesture recognizers for swipes, multiple taps, pinches
  • Custom Gestures

Networking

This module discusses the various ways to consume web services in an iOS applicatoin.

  • Low-level networking
  • The CFNetwork framework
  • Working with streams
  • Communicating with http and ftp servers.
  • Understanding REST
  • Calling REST services with RestKit
  • Apple push notification service

Core Location and Map Kit

Getting around with your mobile device simply makes sense. With Core Location you can always determine where you are and with Map Kit you can display this using a detailed map.

  • Core Location
  • Core Motion
  • Embedding maps with Map Kit

Blocks and Grand Central Dispatch

Anything that takes more than a few seconds could make your application appear slow and unresponsive. You don't want that, your customers neither, so in this module we look at Blocks and Grand Central Dispatch, which allow you to easily hand off long running tasks to iOS.

  • Instruction objects
  • Syntax of Block objects
  • Asynchronous programming
  • Grand Central Dispatch
  • Making a long running task asynchronous with GCD
Course Calendar
Courses On Site
Course Agenda in PDF
Become a U2U trainer

Contact Me

Call me
Send U2U folder
Send more info

Favorites