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-3About 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
Get the support you need. Enroll in our Instructor-Led Course.
Interactive Lessons
28+ Interactive Lessons | 65+ Exercises | 135+ Quizzes | 115+ Flashcards | 115+ Glossary of terms
Gamified TestPrep
Video Lessons
53+ Videos | 01:46+ Hours
Preface
- Who this course is for
- What this course covers
- To get the most out of this course
- Conventions used
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
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
Conditionals and Optionals
- Technical requirements
- Introducing conditionals
- Introducing optionals and optional binding
- Summary
Range Operators and Loops
- Technical requirements
- Exploring range operators
- Exploring loops
- Summary
Collection Types
- Technical requirements
- Exploring arrays
- Exploring dictionaries
- Exploring sets
- Summary
Functions and Closures
- Technical requirements
- Exploring functions
- Exploring closures
- Summary
Classes, Structures, and Enumerations
- Technical requirements
- Understanding classes
- Understanding structures
- Understanding enumerations
- Summary
Protocols, Extensions, and Error Handling
- Technical requirements
- Exploring protocols
- Exploring extensions
- Exploring error handling
- Summary
Swift Concurrency
- Technical requirements
- Understanding Swift concurrency
- Examining an app without concurrency
- Updating the app using async/await
- Improving efficiency using async-let
- Summary
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
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
Finishing Up Your User Interface
- Technical requirements
- Implementing the Journal Entry Detail screen
- Implementing the Map screen
- Summary
Modifying App Screens
- Technical requirements
- Modifying the Journal List screen
- Modifying the Add New Journal Entry screen
- Modifying the Journal Entry Detail screen
- Summary
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
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
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
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
Getting Started with JSON Files
- Technical requirements
- Creating a singleton
- Modifying the JournalEntry class to be JSON-compatible
- Loading and saving JSON data
- Summary
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
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
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
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
Getting Started with SwiftData
- Technical requirements
- Introducing SwiftData
- Modifying the JournalEntry class
- Implementing SwiftData components
- Modifying the JournalListViewController class
- Summary
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
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
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
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 NowYes, 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.