iOS 17 Programming for Beginners

Discover a step-by-step iOS 17 programming guide for developing iPhone mobile apps with Swift and Xcode.

(iOS.AJ1) / ISBN : 978-1-64459-576-3
This course includes
Interactive Lessons
Gamified TestPrep
AI Tutor (Add-on)
Get A Free Trial

About This Course

The iOS 17 Programming for Beginners online course is a step-by-step study guide especially designed for those wanting to start their app development career. Learn the fundamentals of iOS 17 app development to build creative, innovative and engaging apps for Apple devices. From the basics of Swift programming to advanced topics like SwiftUI and visionOS, this iOS development course covers everything you need to know. The structured course plan includes interactive lessons, quizzes, flashcard, glossary, gamified test preps and video lessons to make learning easy and fun for you.

Skills You’ll Get

  • Discover Swift programming language: data types, control flow, functions, and more
  • Explore iOS ecosystem: Xcode, iOS architecture, and essential frameworks like UIKit, Core Data, and MapKit
  • Build real-world apps from scratch: design user interfaces, manage data, and implement various features
  • Create user interface designs with SwiftUI
  • Explore latest iOS technologies like Swift concurrency, SwiftUI, widgets, and visionOS
  • Conduct testing, packaging and submission on the App Store
  • Use Core Data and JSON for storing and retrieving data 
  • Communicate with communicate with web services and APIs
  • Test and debug iOS apps using Xcode's tools

1

Preface

  • Who this course is for
  • What this course covers
  • To get the most out of this course
  • Conventions used
2

Exploring Xcode

  • Technical requirements
  • Downloading and installing Xcode from the App Store
  • Exploring the Xcode user interface
  • Running your app in Simulator
  • Running your app on an iOS device
  • Summary
3

Simple Values and Types

  • Technical requirements
  • Introducing Swift playgrounds
  • Exploring data types
  • Exploring constants and variables
  • Understanding type inference and type safety
  • Exploring operators
  • Using the print() statement
  • Summary
4

Conditionals and Optionals

  • Technical requirements
  • Introducing conditionals
  • Introducing optionals and optional binding
  • Summary
5

Range Operators and Loops

  • Technical requirements
  • Exploring range operators
  • Exploring loops
  • Summary
6

Collection Types

  • Technical requirements
  • Exploring arrays
  • Exploring dictionaries
  • Exploring sets
  • Summary
7

Functions and Closures

  • Technical requirements
  • Exploring functions
  • Exploring closures
  • Summary
8

Classes, Structures, and Enumerations

  • Technical requirements
  • Understanding classes
  • Understanding structures
  • Understanding enumerations
  • Summary
9

Protocols, Extensions, and Error Handling

  • Technical requirements
  • Exploring protocols
  • Exploring extensions
  • Exploring error handling
  • Summary
10

Swift Concurrency

  • Technical requirements
  • Understanding Swift concurrency
  • Examining an app without concurrency
  • Updating the app using async/await
  • Improving efficiency using async-let
  • Summary
11

Setting Up the User Interface

  • Technical requirements
  • Learning useful terms in iOS development
  • A tour of the JRNL app
  • Modifying your Xcode project
  • Setting up a tab bar controller scene
  • Summary
12

Building Your User Interface

  • Technical requirements
  • Adding a table view to the Journal List screen
  • Connecting storyboard elements to the view controller
  • Configuring data source methods for the table view
  • Presenting a view modally
  • Summary
13

Finishing Up Your User Interface

  • Technical requirements
  • Implementing the Journal Entry Detail screen
  • Implementing the Map screen
  • Summary
14

Modifying App Screens

  • Technical requirements
  • Modifying the Journal List screen
  • Modifying the Add New Journal Entry screen
  • Modifying the Journal Entry Detail screen
  • Summary
15

Getting Started with MVC and Table Views

  • Technical requirements
  • Understanding the Model-View-Controller design pattern
  • Understanding table views
  • Revisiting the Journal List screen
  • Summary
16

Getting Data into Table Views

  • Technical requirements
  • Understanding model objects
  • Creating a class to represent a journal entry
  • Creating sample data
  • Displaying data in a table view
  • Summary
17

Passing Data between View Controllers

  • Technical requirements
  • Passing data from the Add New Journal Entry screen to the Journal List screen
  • Removing rows from a table view
  • Exploring text field and text view delegate methods
  • Passing data from the Journal List screen to the Journal Entry Detail screen
  • Summary
18

Getting Started with Core Location and MapKit

  • Technical requirements
  • Getting your device location using the Core Location framework
  • Updating the JournalEntry class to conform to the MKAnnotation protocol
  • Displaying annotation views on the Map screen
  • Displaying a map snapshot on the Journal Entry Detail screen
  • Summary
19

Getting Started with JSON Files

  • Technical requirements
  • Creating a singleton
  • Modifying the JournalEntry class to be JSON-compatible
  • Loading and saving JSON data
  • Summary
20

Getting Started with Custom Views

  • Technical requirements
  • Creating a custom UIStackView subclass
  • Adding your custom view to the Add New Journal Entry screen
  • Adding your custom view to the Journal Entry Detail screen
  • Summary
21

Getting Started with the Camera and Photo Library

  • Technical requirements
  • Creating a new UIImagePickerController instance
  • Implementing UIImagePickerControllerDelegate methods
  • Getting permission to use the camera or photo library
  • Summary
22

Getting Started with Search

  • Technical requirements
  • Implementing a search bar for the Journal List screen
  • Modifying table view data source methods
  • Modifying the prepare(for:sender:) method
  • Modifying the method to remove journal entries
  • Summary
23

Getting Started with Collection Views

  • Technical requirements
  • Understanding collection views
  • Modifying the Journal List screen to use a collection view
  • Dynamically modifying collection view cell size using size classes
  • Testing your app on different devices
  • Summary
24

Getting Started with SwiftData

  • Technical requirements
  • Introducing SwiftData
  • Modifying the JournalEntry class
  • Implementing SwiftData components
  • Modifying the JournalListViewController class
  • Summary
25

Getting Started with SwiftUI

  • Technical requirements
  • Creating a SwiftUI Xcode project
  • Creating the Journal List screen
  • Adding model objects and configuring navigation
  • Using MapKit for SwiftUI
  • Completing the Journal Entry Detail screen
  • Summary
26

Getting Started with Widgets

  • Technical requirements
  • Introducing widgets
  • Adding a widget target to your app
  • Providing timeline entries to your widget
  • Customizing your widget’s view
  • Adding a widget to your Home and Lock screens
  • Summary
27

Getting Started with visionOS

  • Technical requirements
  • Introducing visionOS
  • Adding a visionOS target to your project
  • Improving your app’s appearance in visionOS
  • Adding 3D objects to your app
  • Summary
28

Testing and Submitting Your App to the App Store

  • Technical requirements
  • Getting an Apple Developer account
  • Exploring your Apple Developer account
  • Submitting your app to the App Store
  • Testing your app
  • Summary

Any questions?
Check out the FAQs

Read this section to find out more information about this iOS 17 Programming for Beginners course

Contact Us Now

Yes, this beginner-friendly course will give you a great start to launch your career as an iOS app developer. It will give you the foundational knowledge needed to build your own iOS apps and submit them to the app store.

Swift is the basic programming language used in this iOS 17 app development course.

No, you cannot develop iOS apps without a Mac because Apple's tools and SDKs are specifically designed for the macOS ecosystem.

Yes, it is a comprehensive course covering both UIKit and SwiftUI frameworks. UIKit is the traditional framework for building iOS user interfaces while SwiftUI is an updated version for building user interfaces across all Apple platforms.

Xcode is the Integrated Development Environment (IDE) where the app is built while Swift is the programming language used to write the code for the iOS apps.

The latest version Xcode 15 has been covered in this iOS app development course.

Related Courses

All Course
scroll to top