About the course
This iOS development training course will give you hands-on practical experience of older Apple iOS development technologies to help you support a legacy code base.
You'll learn to build UIKit apps with Swift and through hands-on exercises explore the new controls available, and also gain experience with unit testing and deployment.
Instructor-led online and in-house face-to-face options are available - as part of a wider customised training programme, or as a standalone workshop, on-site at your offices or at one of many flexible meeting spaces in the UK and around the World.
-
- Learn to maintain code using Swift and Xcode
- UIKit: Views and controls
- Prototype an interface design
- Work with different screen sizes
- Manage advanced navigation in UIKit
- Integrate hardware controls
- Create animations
- Work with Data Storage
- Deliver your app to the App Store
-
This course is aimed at developers who need to support existing UIKit applications. Anyone looking to develop a new app should consider our Modern iOS App Development Training Course instead.
-
Delegates should have attended our Introduction to iOS app development or have equivalent experience with the Swift language (or similar languages such as Python, Kotlin, Objective-C or C#.
-
This iOS with UIKit course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform).
Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals.
-
Introduction to Swift
Trainer and Delegate Introductions / Intro to course
Foundations of Swift
XCode Playgrounds
Basics of the language: Types, Operators, Conditionals, Iterators, Strings, Arrays, Dictionaries
Lab 1: Trying out the language basics
Introduction to using Xcode
Making first app / toolkit features
MVC and linking code to Storyboards
Using the documentation
Introduction to UIKit
Lab 2: Building and running single screen apps on simulator and device
UIKit: Views and controls
Attributes of common views
Adding controls to your app
Adding more views
Lab 3: Building apps with more views and controls
Functions
Function parameters and results
Argument labels
Default values
Lab 4: Writing functions
Prototyping an interface design
Deciding what goes into the app
Making the screens for a multi-screen app and joining them
Trying out the app on potential users
Taking Apple design considerations and HCI guidelines into account
Lab 5: Building an app prototype without code
Structs and Classes
Creating structs and initialising them
Properties and access methods and using them
Classes - Initializers, methods and properties
When to use classes and structs
Lab 6: Creating and using Structs and Classes
Working with different screen sizes
Autolayout
Stack layout
Lab 7: Fitting many items on different size screens
Further exercises on Autolayout
Dictionaries/Optionals / Guard / Scope
Dictionaries/why we need optionals
How to use them correctly
Making code tidy with Guard
Understanding scope of variables
Lab 8: Optionals and Guard
Advanced navigation in UIKit
Segues
Navigation
Tab bars
Lifetime of an app
Lab 9: Making complex apps
Making a multi-screen app
Lab 10: Bringing what we learned so far together
Building dynamic tables
Basic tables
Linking to child screens
Passing child data
Customising table cells
Linking to multiple child screens
Lab 11: Building tables
Protocols, closures
Built in protocols – CustomStringConvertible, Equatable, Comparable, Codable
Defining and implementing your own protocols
Using closures
Shortening closures
Lab 12: Protocols and Closures
Location facilities
Setting up location services
Tracking movement
Annotating maps
Lab 13: Adding Maps to an app
Interacting with taps and the accelerometer
Implementing taps and swipes
Using the accelerometer
Lab 14: Example apps using taps, swipes and the accelerometer
Animations
How animations are used in iOS
Delighting users with animations
Types of animation that are possible
Lab 15: Building animations
Data storage with Codable
Application sandbox
Codable with JSON and PLists
Where and how to save data in iOS
SQLite for complex data
Lab 16: Extended lab bringing together work on tables, data access and storing data
Web browsing, web services
Integrating web browsing into your app
Calling web services and receiving data asynchronously
Concurrency and Grand Central Dispatch
Processing data and updating screens
Lab 17: Reading and processing data from a web service
Unit Testing
Identifying what to unit test
Setting up tests
Running tests in XCTest
Lab 18: Writing Unit Tests for iOS Apps
Delivering to the App Store
Registering an app
Getting ready to make an app live
Choices for how to deliver an app
App analytics
Bringing it all together in a complex app
Final Case Study
-
developer.apple.com/swift/ - The official Swift programming language website by Apple.
developer.apple.com/xcode/ - Information and downloads for Xcode, Apple's integrated development environment.
developer.apple.com/documentation/swiftui/ - Apple's official documentation for the SwiftUI framework.
swift.org/ - The Swift open-source community website.
Trusted by



