← All 186 courses
DEV-222 Development

iOS Development with Swift

Deliver a working SwiftUI application with correct state, navigation, concurrency and persistence. Learners write data-race-free async code under Swift concurrency checking, store credentials and user data appropriately, and design around the App Store review and privacy rules that decide whether a build ships at all.

B3Practitioner
6modules
43skill atoms
1role journey
Curriculum

What this course covers.

6 modules, 43 named skill atoms. Expand any module to see them.

1Swift Essentials7 skill atoms
optionals and unwrappingvalue vs reference semanticsprotocols and extensionsgenerics with associated typesresult and thrown errorsproperty wrappersarc and retain cycles
2SwiftUI Layout & State8 skill atoms
view builders and layout systemstate and binding@Observable macro with @State and @EnvironmentObservableObject only for pre-iOS-17 codelist and diffable identityanimation and transitionsgeometry and safe areaspreview canvas workflow
3Navigation & App Structure7 skill atoms
navigationstack pathssheets and fullscreencoveruniversal links and deep linkingscene lifecycleappstorage and scenestoragetab and split layoutsstate restoration
4Swift Concurrency & Actors7 skill atoms
async functions and taskstask cancellationactors and data isolationmainactor ui updatestaskgroup for parallel workcontinuation bridging to callbackssendable checking
5Persistence, Networking & App Store Rules7 skill atoms
swiftdata and core data modelsurlsession with codablekeychain for secretsbackground task limitsprivacy manifest requirementsapp tracking transparencycommon review guideline traps
6AI Assistants in iOS Work7 skill atoms
uikit answers to swiftui questionsdeprecated api suggestions from older sdksgenerated code ignoring mainactorinvented swift package namesreviewing generated concurrency for data racesxcode and sdk version drift in snippetsengineer owns privacy and review compliance
Where it fits

DEV-222 in a role journey.

This course appears in 1 of our 45 role journeys. Here is what a learner takes immediately before and after it in each.

Mobile Developer

Practitioner stage
DEV-221DEV-222DEV-223

Roles this course serves

The capability ladder

This course is authored to band B3.

Every course we run is written to one rung of the CASI ladder, so a plan can be assembled to take a team from where they are to where they need to be.

What do B1–B6 mean?The CASI Capability Ladder — click to expand

Every course targets a band on the CASI Capability Ladder — our six-band proficiency scale, anchored to open standards (O*NET, ESCO, NICE, NIST AI RMF, Bloom's). A band tells you how deep a course goes, and what evidence proves it.

What the learner can doTypical evidence
B1
AwareUnderstands concepts and vocabulary; uses tools with guidance
Knowledge checks
B2
FoundationPerforms standard tasks correctly in familiar contexts
Guided labs, autograded exercises
B3
PractitionerDelivers complete pieces of work independently
Scenario labs, proctored hands-on exams
B4
ProfessionalHandles production-grade complexity, trade-offs and failure modes
Break-fix drills, design defenses
B5
AdvancedEngineers systems end-to-end under constraints; leads others
Rubric-scored capstones, vivas
B6
ExpertSets direction; recognised authority across teams
Portfolio + panel evaluation

A note on B6. Courses in this catalog target B1–B5. B6 is not taught — it is recognised, through a portfolio and a panel, once someone is setting direction for others. Every journey here is built to land a learner at B5.

Next step

Run DEV-222 for your team.

This course runs at several lengths depending on how deep you need to go and how much of it your people already have. Tell us who is being trained and we will scope it.

Add it to a training plan Talk to our team Check your team’s level free