Duration
35 hours (usually 5 days including breaks)
Requirements
The course assumes some programming experience.
Overview
Who should attend?
This 5 day course is for developers who want to learn how to develop applications for iPhone and iPad running iOS 10. Xcode8, Swift3 and iOS 10 introduced significant changes in the way applications are written.
The course is hands on and shows how to develop applications from scratch using the Swift programming language and the Xcode 8 IDE.
During the course a fully functional application will be developed from scratch using Swift.
This course can only be run on Intel based Apple hardware such as a MacBook or a Mac Mini. Delegates need to have registered with Apple and have an Apple ID which is required to download software. Delegates wishing to run the applications developed during the course on an iPhone or iPad using a USB cable will need to register their device with Xcode.
Course Outline
Development environment
- Development environment requirements
- Xcode and the iOS SDK
- Apple Developer Registration
- Reasons why Applications get rejected
- Human Interface Guidelines
Xcode iOS Projects
- Overview of Xcode
- Creating an iOS project
- Running on simulator and real devices
Adaptive Layout
- Storyboards
- Multiple Device Support
- Icon Sizing and Device Orientation
- UI Components
- Building a User Interface
Swift
- Swift programming language overview
- Variables, constants and data types
- Language constructs
- Using Xcode to develop Swift applications
- Playground
Swift Classes and Scenes
- Creating Swift classes
- Instance variables and initialisation
- Memory management
- Strong and weak references
- Constructor types
- Protocols, Hashable and Printable
- Inheritance
- Creating Scenes
- Implementing View Controllers
- Outlets and Actions
Working with Graphics
- Adding icons and images
- Using the SpriteKit API
- Animating Sprites
User Interaction
- Buttons and handlers
- Pan gesture recognition
- Tap gesture recognition
Multiple Screen Applications
- Table Navigation
- Tabbed Applications
- Navigation Controllers
Location Services
- Position and Altitude
- Compass Direction
Device Access and Storage
- File Storage
- Music Library Access
- SQLite Database Access
Bluetooth
- Bluetooth API
- Centrals
- Peripherals
Speech Framework
- Speech to text
- Text to Speech
Networking
- Network Access
- Serialising and Deserialising JSON
- REST Web Services