Skip to main content
ZORK Academy

Live online course · Mobile App Development

iOS Development with Swift & SwiftUI

Build, test and ship modern iPhone apps with Swift and SwiftUI

A fourteen-week live course in native iOS: Swift, SwiftUI, NavigationStack, Observation, async/await and actors, URLSession and Codable, SwiftData, Keychain, MVVM, testing, accessibility, privacy, Instruments and TestFlight.

  • Intermediate
  • Live online
  • 84 live hours

What you will be able to do

  • Write safe, expressive Swift using optionals, value types, protocols, generics and error handling
  • Build adaptive, accessible interfaces with SwiftUI
  • Manage navigation with NavigationStack and state with @State and @Observable
  • Load data with async/await, actors, URLSession and Codable
  • Persist data with SwiftData and protect secrets in the Keychain
  • Structure apps with MVVM and test them with Swift Testing, XCTest and UI tests
  • Handle permissions and privacy manifests, and profile with Instruments
  • Sign an app, distribute it through TestFlight and prepare it for App Store review

About this course

Native iOS apps feel fast, look at home on iPhone and get first access to Apple’s platform features. This course takes you from the Swift language to an app uploaded to TestFlight and prepared for App Store review.

The course uses Swift and SwiftUI, Apple’s current language and UI framework, together with the Observation framework for state, Swift concurrency for asynchronous work and SwiftData for persistence. Where you will still meet older approaches in existing projects — UIKit, Combine or ObservableObject — they are pointed out so you can recognise them.

Classes are live and hands-on. Across the course you build one app step by step — a personal reading tracker that searches a public books API, stores your library on device and syncs safely — so each module adds a real layer: UI, navigation, state, networking, persistence, tests and release. Doubt-clearing time is built into every week.

Syllabus

Every session is a live class. Module hours add up to the course total.

This syllabus is a draft awaiting instructor review. Topics, order and schedule may change before the first batch is announced.

  1. 01Swift language foundations4 live sessions · 8 hours · Swift syntax, optionals and the difference between value and reference types.

    Learning objectives

    • Write Swift with constants, variables, control flow, functions and collections
    • Handle missing values safely with optionals
    • Choose between structs, classes and enums based on value and reference semantics

    Live sessions

    1. 01Xcode, playgrounds and Swift basics2 hInstalling Xcode, playgrounds, let and var, type inference, strings, arrays, dictionaries, switch and pattern matching, functions with argument labels.
    2. 02Optionals2 hWhy optionals exist, if let and guard let, optional chaining, nil coalescing, why force-unwrapping crashes apps and when it is acceptable.
    3. 03Value and reference types2 hStructs, classes and enums with associated values, copy semantics versus shared references, mutating methods, identity, memory and retain cycles.
    4. 04Swift practice and doubt-clearing2 hGuided exercises modelling the reading tracker’s data in Swift; common optional mistakes; open questions.
    Practice
    Twenty Swift exercises on optionals, enums and value types, checked with provided tests.
    Assessment
    Quiz on optionals and value versus reference types (auto-marked).
    You will be able to
    You can write safe Swift and model app data with the right kind of type.
  2. 02Swift in depth4 live sessions · 8 hours · Protocols, generics, closures and error handling — the building blocks of Swift APIs.

    Learning objectives

    • Design with protocols and extensions instead of deep class hierarchies
    • Write and use generic functions and types
    • Handle failures with throwing functions and typed errors

    Live sessions

    1. 05Protocols and extensions2 hProtocols, default implementations through extensions, protocol composition, standard protocols such as Equatable, Hashable, Identifiable and Codable.
    2. 06Generics and closures2 hGeneric functions and types, constraints and where clauses, some and any, closures, trailing closure syntax, capture lists and escaping closures.
    3. 07Error handling2 hError types, throws, do/try/catch, try? and try!, Result, typed throws, designing error messages that are safe to show users.
    4. 08Swift review and doubt-clearing2 hReview exercises combining protocols, generics and errors; open questions.
    Practice
    Build a small, tested Swift package for the reading tracker’s domain logic using protocols and generics.
    Assessment
    Assignment: the domain package with unit tests, reviewed for API design and error handling.
    You will be able to
    You can read and design idiomatic Swift APIs and handle errors deliberately.
  3. 03SwiftUI and state5 live sessions · 10 hours · Declarative UI with SwiftUI, from layout to observable state.

    Learning objectives

    • Compose screens from views, modifiers and layout containers
    • Build lists and forms with standard SwiftUI controls
    • Manage state with @State, @Binding, @Observable and the environment

    Live sessions

    1. 09Views, modifiers and layout2 hThe View protocol, VStack, HStack, ZStack and Grid, modifier order, spacing and alignment, previews, SF Symbols and system colours for light and dark mode.
    2. 10Lists, forms and controls2 hList and ForEach with identifiable data, sections, swipe actions, Form, TextField, Toggle, Picker and DatePicker, AsyncImage.
    3. 11Local state with @State and @Binding2 hSource of truth, @State for view-owned values, @Binding to share writable state with child views, how SwiftUI updates views.
    4. 12Observable models and the environment2 hThe Observation framework and @Observable, @Bindable, passing models through the environment, recognising the older ObservableObject pattern.
    5. 13SwiftUI lab and doubt-clearing2 hBuild the reading tracker’s library and book detail screens together; reviewing each other’s views; open questions.
    Practice
    Build the library list, book detail and add-book form with in-memory data and observable models.
    Assessment
    Project milestone 1: the tracker’s main screens in SwiftUI, reviewed for state handling.
    You will be able to
    You can build well-structured SwiftUI screens with a clear source of truth for state.
  4. 04App lifecycle and navigation4 live sessions · 8 hours · How an iOS app starts and moves between screens.

    Learning objectives

    • Explain the SwiftUI app lifecycle, scenes and scene phases
    • Implement value-based navigation with NavigationStack and NavigationPath
    • Use tabs, sheets and deep links appropriately

    Live sessions

    1. 14The app lifecycle2 hThe App protocol and @main, scenes and WindowGroup, scenePhase changes, background and foreground behaviour, launch arguments and debugging in Xcode.
    2. 15Navigation with NavigationStack2 hNavigationStack, NavigationLink with values, navigationDestination, programmatic navigation with NavigationPath, restoring navigation state.
    3. 16Tabs, sheets and deep links2 hTabView, sheets, full-screen covers and confirmation dialogs, presentation state, handling URLs with onOpenURL, adaptive layouts for iPad.
    4. 17Navigation review and doubt-clearing2 hWire the full tracker navigation together; common navigation bugs; open questions.
    Practice
    Add tabs, a navigation stack with programmatic navigation and a deep link to a book’s detail screen.
    Assessment
    Assignment: a navigation map and pull request implementing it.
    You will be able to
    You can build multi-screen apps with predictable, restorable navigation.
  5. 05Swift concurrency and networking5 live sessions · 10 hours · Load remote data safely with async/await, actors, URLSession and Codable.

    Learning objectives

    • Write asynchronous code with async/await and structured tasks
    • Protect shared mutable state with actors and the main actor
    • Call REST APIs with URLSession and decode JSON with Codable
    • Show loading, error and retry states and cancel work correctly

    Live sessions

    1. 18async/await and tasks2 hAsynchronous functions, Task and the task modifier, async let and task groups, structured concurrency and cancellation.
    2. 19Actors and data-race safety2 hData races, actors and actor isolation, @MainActor for UI updates, Sendable, reading strict-concurrency compiler diagnostics.
    3. 20Networking with URLSession and Codable2 hHTTP and JSON basics, URLSession data tasks with async/await, Codable models, custom coding keys and date strategies, building requests with URLComponents.
    4. 21Robust network code2 hStatus codes and error mapping, timeouts, retries, cancelling searches as the user types, loading, empty and error states with retry, App Transport Security.
    5. 22Networking lab and doubt-clearing2 hConnect the tracker to a public books API together; debugging requests and decoding errors; open questions.
    Practice
    Add book search backed by a public API with cancellation, error handling and an actor-based cache.
    Assessment
    Quiz on async/await, actors and Codable (auto-marked).
    You will be able to
    You can write responsive, data-race-safe networking code.
  6. 06Persistence and architecture4 live sessions · 8 hours · Store data on device, protect secrets and organise the app with MVVM.

    Learning objectives

    • Persist and query data with SwiftData
    • Store credentials and tokens securely in the Keychain
    • Structure the app with MVVM and protocol-based dependencies

    Live sessions

    1. 23Persistence with SwiftData2 hThe @Model macro, ModelContainer and ModelContext, @Query with sorting and filtering, relationships, schema changes and migrations, UserDefaults for small settings.
    2. 24Keychain and secure storage2 hWhy tokens do not belong in UserDefaults, Keychain items and access control, a small Keychain wrapper, data protection classes.
    3. 25MVVM and dependency injection2 hViews, view models and services, @Observable view models, protocols for services, injecting dependencies for previews and tests, avoiding massive view models.
    4. 26Architecture review and doubt-clearing2 hRefactor the tracker into MVVM with group code review; open questions.
    Practice
    Persist the library with SwiftData, store an API token in the Keychain and refactor screens to MVVM.
    Assessment
    Project milestone 2: an offline-capable tracker with an architecture diagram.
    You will be able to
    You can build apps that keep data safely on device and stay easy to change.
  7. 07Testing iOS apps4 live sessions · 8 hours · Prove the app works with unit tests and UI tests.

    Learning objectives

    • Write unit tests with Swift Testing and recognise XCTest in existing projects
    • Test asynchronous code and isolate dependencies with fakes
    • Automate key journeys with XCUITest

    Live sessions

    1. 27Unit testing with Swift Testing and XCTest2 hThe @Test macro, #expect and #require, parameterised tests, test plans in Xcode, reading and writing XCTest cases.
    2. 28Testing async code and dependencies2 hTesting async functions and actors, fakes and stubs through protocols, testing view models, an in-memory SwiftData container for tests.
    3. 29UI tests with XCUITest2 hRecording and writing UI tests, accessibility identifiers, launch arguments for test data, waiting for elements, keeping UI tests few and valuable.
    4. 30Testing review and doubt-clearing2 hRaise coverage on the tracker’s riskiest code; reviewing test names and structure; open questions.
    Practice
    Add unit tests for every view model and service, and UI tests for adding and searching books.
    Assessment
    Assignment: a passing test plan with a short note on what is tested and what is not.
    You will be able to
    You can catch regressions early with a focused, reliable test suite.
  8. 08Accessibility, privacy and performance4 live sessions · 8 hours · Make the app usable by everyone, respectful of user data and fast.

    Learning objectives

    • Support VoiceOver, Dynamic Type and sufficient contrast
    • Request permissions with clear purpose strings and maintain a privacy manifest
    • Profile and fix performance problems with Instruments

    Live sessions

    1. 31Accessibility in SwiftUI2 hAccessibility labels, values, hints and traits, grouping elements, Dynamic Type and layout, reduce motion, testing with VoiceOver and Accessibility Inspector.
    2. 32Permissions and privacy manifests2 hPurpose strings in Info.plist, requesting permissions at the right moment, handling denial, PrivacyInfo.xcprivacy, required-reason APIs, collecting only what is needed.
    3. 33Performance with Instruments2 hTime Profiler, Allocations and Leaks, the SwiftUI instrument and unnecessary view updates, hangs and launch time, measuring before and after a fix.
    4. 34Quality review and doubt-clearing2 hAccessibility and performance audit of each other’s apps; open questions.
    Practice
    Complete an accessibility pass, add a privacy manifest and photo-library permission flow, and fix one measured performance issue.
    Assessment
    Assignment: an accessibility checklist and an Instruments note with before-and-after measurements.
    You will be able to
    You can ship apps that are accessible, privacy-respecting and responsive.
  9. 09Signing, TestFlight and App Store preparation4 live sessions · 8 hours · Take an app from Xcode to testers and prepare it for review.

    Learning objectives

    • Understand certificates, identifiers, provisioning profiles and automatic signing
    • Archive a build and distribute it with TestFlight
    • Prepare metadata, privacy details and a build that meets App Store review guidelines

    Live sessions

    1. 35Code signing and provisioning2 hApple Accounts and the Developer Program, bundle identifiers, certificates and provisioning profiles, automatic signing, capabilities and entitlements, running on a physical device.
    2. 36Archiving and TestFlight2 hBuild configurations and versioning, archiving in Xcode, uploading to App Store Connect, internal and external testers, collecting feedback and crash reports.
    3. 37App Store review preparation2 hThe App Review Guidelines and common rejection reasons, screenshots and metadata, app privacy details, age rating, review notes and demo accounts.
    4. 38Release review and doubt-clearing2 hWalk through a release checklist on each tracker app; quiz review; open questions.
    Practice
    Archive the tracker, complete a release checklist and draft its store metadata; members of the Developer Program also upload to TestFlight.
    Assessment
    Quiz on signing, TestFlight and App Store review (auto-marked).
    You will be able to
    You can take an iOS app through signing, beta testing and review preparation.
  10. 10Capstone: sports facility booking app4 live sessions · 8 hours · Plan, build and present a complete iOS app from a written brief.

    Learning objectives

    • Turn a brief into an architecture and delivery plan
    • Deliver a tested, accessible app with a signed build
    • Explain and defend your design choices in a live review

    Live sessions

    1. 39Capstone brief and architecture planning2 hReading the brief and API, screen and navigation map, data model and offline plan, splitting work into milestones; feedback in small groups.
    2. 40Capstone build clinic2 hGuided working session with one-to-one help on architecture, concurrency and testing problems.
    3. 41Capstone peer review2 hStructured code reviews of each other’s apps; checking error states, accessibility, privacy and release readiness against the brief.
    4. 42Final demos and final assessment2 hLive capstone demos with feedback; final assessment.
    Practice
    Complete the capstone app and address the feedback from the peer review.
    Assessment
    Capstone submission and a final assessment (pass mark 60%).
    You will be able to
    You can build, test and prepare a production-quality native iOS app for release.

Teaching formats and fees

Every format teaches the full syllabus live, with the same projects, assessments and certificate rules. The fee is per student for the whole course.

Teaching format comparison for iOS Development with Swift & SwiftUI
DetailGroupDuoOne-to-One
Who is in classSmall group2 students1 student
Course fee₹14,999₹24,999₹44,999
Per live hour₹179₹298₹536
Best forLearn live with a small group of students. Lowest fee per student.Two students share every live class with the instructor.Every live class is just you and the instructor.
StatusLaunch feeLaunch feeLaunch fee

Launch fee — GST treatment to be confirmed.

Fees are set in Indian rupees. Amounts in other currencies are estimates; the amount and currency you would pay are shown before payment once online enrolment opens.

Schedules and batches

Choose the schedule that fits your week. Both teach the same syllabus and the same 84 live hours; only the number of weeks differs.

Schedule comparison for iOS Development with Swift & SwiftUI
ScheduleDaysLive hours a weekClassesLength before holidays
Weekday IntensiveMon–Fri, 1 h each584about 17 weeks
Weekend EveningSat & Sun evenings, 2 h each442about 21 weeks
  • Weekday Intensive classes are one hour, so each 2 h syllabus session is taught across consecutive weekday classes.
  • Weekend Evening classes run on Saturday and Sunday evenings; the exact time and time zone are set before a batch is confirmed.
  • Public holidays are not class days unless the instructor confirms a class. Holidays, instructor leave and cancelled classes move the end date later so no live hours are lost.
  • Plan about 6 hours a week of exercises, assignments and project work outside class.
  • Group, Duo and One-to-One courses all follow one of these two schedules.

Final project

Build and prepare for release an iPhone app for booking slots at a community sports facility. You receive a written brief and a REST API for facilities, available slots and bookings. You deliver:

  • A Swift and SwiftUI app with facility browsing, a slot picker, booking and cancellation, and a “My bookings” screen, using NavigationStack with value-based navigation and a TabView.
  • MVVM with @Observable models, dependencies injected through protocols, and clear loading, empty and error states with retry.
  • Networking with URLSession, async/await and Codable, with cancellation handled correctly and shared state protected by an actor.
  • SwiftData storage so upcoming bookings are available offline, and the user’s session token stored in the Keychain.
  • Unit tests with Swift Testing for view models and services, and UI tests for the booking journey.
  • An accessibility pass covering VoiceOver labels, Dynamic Type and contrast, and a calendar-permission flow with a clear purpose string and a complete privacy manifest.
  • An Instruments note showing one performance issue you measured and fixed.
  • A signed build archived in Xcode with an App Store review checklist, privacy details and draft metadata; learners with a developer membership also upload it to TestFlight.

Reviewed live in the final week: you demo the app in the Simulator or on a device, walk through the architecture and answer questions on your design choices.

Certificate

ZORK Academy course completion certificate

Issued once your instructor confirms you have met every requirement:

  • Attend at least 80% of live classes
  • Submit every required assignment
  • Submit and pass the required projects, including the final project
  • Score at least 60% in the final assessment

Each certificate has a unique ID that employers can verify online. Paying for the course does not by itself earn a certificate. It is not a university degree or a government-recognised qualification.

Tools and skills

Tools and technologies

  • Xcode
  • Swift
  • SwiftUI
  • iOS Simulator
  • Swift Package Manager
  • SwiftData
  • Swift Testing and XCTest
  • Instruments
  • Accessibility Inspector
  • App Store Connect and TestFlight
  • Git and GitHub

Skills you practise

  • Swift
  • SwiftUI
  • App lifecycle and navigation
  • Observation and state management
  • Swift concurrency
  • Networking with URLSession and Codable
  • SwiftData
  • Keychain
  • MVVM architecture
  • iOS testing
  • Accessibility
  • Privacy and permissions
  • Performance profiling with Instruments
  • Code signing and TestFlight

Where these skills apply

  • Native iOS app development
  • Mobile work in product and service teams
  • Maintaining and modernising existing iOS codebases
  • Building privacy-conscious consumer apps
  • Independent app development and publishing

We help you prepare for work; we do not guarantee jobs, placements or salaries. Career resources

Questions about iOS Development with Swift & SwiftUI

How long is iOS Development with Swift & SwiftUI?

84 hours of live online teaching: about 17 weeks on the Weekday Intensive schedule (Mon–Fri, 1 h a class), or about 21 weeks on the Weekend Evening schedule (Sat & Sun evenings, 2 h a class), before holidays. Plan about 6 hours a week of exercises and project work as well.

When are the classes?

No batch dates have been announced yet. The proposed pattern is Tue, Thu and Sat, 7:30–9:30 pm IST; it is confirmed when a batch is scheduled. Book a free consultation to hear about the next batch.

What do I need before I start?
  • Basic programming in any language: variables, conditions, loops, functions and simple classes
  • No previous Swift or iOS experience required
  • A Mac capable of running the current version of Xcode is required: Xcode runs only on macOS, so Windows and Linux laptops cannot be used. Check Apple’s published Xcode system requirements before enrolling; 16 GB RAM and about 50 GB of free disk space are recommended
  • An iPhone for on-device testing is recommended but not required; the Simulator is used in class
  • A free Apple Account is enough for most of the course; publishing to TestFlight needs a paid Apple Developer Program membership, which is optional and paid directly to Apple
Will I get a certificate?

Yes — a ZORK Academy course completion certificate when you meet this course’s requirements, listed under Certificate. Paying for the course does not by itself earn the certificate, and it is not a university or government-recognised qualification.

Are classes recorded?

Where the academy has permission to record a class, the recording may be shared with your batch for revision. Recordings do not replace live classes, and attendance counts towards the certificate.

How do I pay?

The fee is a one-time payment in Indian rupees through Razorpay once online enrolment opens; ZORK Academy never sees your card or UPI details. The fee shown is proposed and may change before enrolment opens. Refunds follow the refund and cancellation policy in force when you pay.

Send an enquiry

Tell us which format and schedule interest you. An enquiry is not an enrolment: it reserves no place and commits you to nothing. The team replies with the confirmed batches and approved fees once they are available.

Indian mobile number, or international with +.

Course: iOS Development with Swift & SwiftUI

Mention the format (Group, Duo or One-to-One) and schedule (Weekday Intensive or Weekend Evening) you prefer.

Free career advice

Career advice is free and there is no obligation. Share your number only if you would like us to respond.