Packt

iOS 18 Programming for Beginners

Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.

Packt

iOS 18 Programming for Beginners

Included with Coursera Plus

Gain insight into a topic and learn the fundamentals.
Beginner level

Recommended experience

2 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace
Gain insight into a topic and learn the fundamentals.
Beginner level

Recommended experience

2 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

What you'll learn

  • Build and deploy fully functional iOS apps using Xcode and Swift 6.

  • Implement UI components, table/collection views, and Core Location features.

  • Apply Swift concurrency, SwiftData, and testing for robust app development.

Details to know

Shareable certificate

Add to your LinkedIn profile

Recently updated!

June 2026

Assessments

27 assignments

Taught in English

See how employees at top companies are mastering in-demand skills

 logos of Petrobras, TATA, Danone, Capgemini, P&G and L'Oreal

There are 27 modules in this course

This module introduces you to the essentials of iOS app development by guiding you through installing Xcode, navigating its user interface, and running your first app in both the Simulator and on a real iOS device. You'll gain hands-on experience with the tools and workflows needed to start building and testing iOS applications.

What's included

1 video3 readings1 assignment

This module introduces you to Swift playgrounds and the foundational concepts of data types, type inference, and type safety in Swift. You will also learn how to use comparison operators to evaluate values and make decisions in your code. By the end, you'll be able to confidently work with simple values and types in Swift programming.

What's included

1 video4 readings1 assignment

This module introduces the use of conditional logic in Swift, focusing on if and switch statements to control program flow. Learners will also discover how to manage optional values safely using optional binding, enhancing the reliability of their iOS applications.

What's included

1 video2 readings1 assignment

This module introduces the use of range operators and various loop constructs to efficiently handle repetitive tasks in programming. Learners will discover how to generate sequences and automate actions using for-in, while, and repeat-while loops. By mastering these tools, you will streamline code and improve task management.

What's included

1 video2 readings1 assignment

This module introduces the fundamental collection types in Swift, including arrays, dictionaries, and sets. Learners will discover how to create, modify, and iterate over these data structures to efficiently manage groups of values in their programs.

What's included

1 video4 readings1 assignment

This module introduces the concepts of functions and closures, demonstrating how they can be used to organize and modularize code for better readability and maintainability. Learners will explore how to return functions from other functions and understand the unique characteristics of closures in programming.

What's included

1 video3 readings1 assignment

This module introduces the foundational concepts of organizing and representing complex data using classes, structures, and enumerations. Learners will discover how to create and differentiate between these types, understand inheritance through subclassing, and recognize the differences between value and reference types.

What's included

1 video3 readings1 assignment

This module introduces the concepts of protocols, extensions, and error handling to help you write more flexible, reusable, and robust code. You will learn how to define blueprints for behavior, add new functionality to existing types, and manage errors effectively in your applications.

What's included

1 video2 readings1 assignment

This module introduces the fundamentals of Swift concurrency, focusing on how to implement asynchronous and parallel programming using async/await. Learners will examine the impact of concurrency on app responsiveness and efficiency by updating a sample app to utilize modern Swift concurrency features.

What's included

1 video3 readings1 assignment

This module guides you through building the user interface for the JRNL app using Xcode's Interface Builder. You will explore the app's key screens, learn how to modify your Xcode project, and implement navigation controllers to enhance user experience. By the end, you'll have hands-on experience creating and organizing UI components for an iOS journal application.

What's included

1 video4 readings1 assignment

This module guides you through building and configuring a user interface in your iOS app using Xcode. You will learn how to connect storyboard elements to view controllers, set up table views with data sources, and present new screens modally with navigation bar buttons. By the end, you'll be able to enhance your app's interactivity and navigation.

What's included

1 video5 readings1 assignment

This module guides you through implementing a detailed journal entry screen, configuring navigation between views, and integrating a map view into your app. You will enhance the user interface by establishing seamless navigation and adding interactive elements. By the end, you'll have a functional and navigable journal app interface.

What's included

1 video1 reading1 assignment

This module guides you through enhancing your app's user interface by adding and configuring labels, text fields, and stack views for journal entry screens. You'll learn to organize UI elements for clarity and responsiveness, ensuring a consistent and user-friendly experience. By the end, you'll be able to modify and structure app screens using both stack views and static table view cells.

What's included

1 video6 readings1 assignment

This module introduces the Model-View-Controller (MVC) design pattern and demonstrates how to implement table views programmatically in iOS. Learners will gain hands-on experience with data source and delegate protocols to create interactive and structured app interfaces.

What's included

1 video3 readings1 assignment

This module guides learners through creating model objects for journal entries, generating sample data, and configuring table view data sources to display information effectively in an iOS app. Learners will also connect UI elements to code, enabling dynamic data presentation in table view cells.

What's included

1 video4 readings1 assignment

This module guides learners through the process of transferring data between view controllers in an iOS app, including handling user input to create new journal entries and managing table view interactions such as row deletion. Learners will gain practical skills in implementing delegate methods and ensuring seamless navigation and data flow within a multi-screen application.

What's included

1 video4 readings1 assignment

This module guides you through integrating Core Location and MapKit into your app to retrieve device location, display map annotations, and present map snapshots within your user interface. You'll learn how to request location permissions, update your data models to support map features, and connect map interactions to detailed journal entries.

What's included

1 video7 readings1 assignment

This module guides learners through enabling persistent data storage in an iOS app by making classes compatible with JSON serialization. You will learn how to encode and decode data using JSONEncoder and JSONDecoder, and implement saving and loading of journal entries to and from JSON files.

What's included

1 video3 readings1 assignment

This module guides you through creating and integrating a custom rating view in your JRNL app. You'll learn how to subclass UIStackView, configure interactive star ratings, and implement your custom view on key app screens. By the end, you'll enhance your app's user interface with a functional and visually appealing rating component.

What's included

1 video2 readings1 assignment

This module guides learners through integrating camera and photo library functionality into an iOS app using UIImagePickerController. You will configure permissions, implement delegate methods, and enable users to add photos to journal entries. By the end, you'll understand how to handle image selection and user interaction with media sources.

What's included

1 video2 readings1 assignment

This module guides learners through implementing a search bar in a journal app, focusing on updating data handling methods and modifying table view behaviors. You will learn how to filter and display journal entries based on user input, and adjust removal logic to work seamlessly with search functionality.

What's included

1 video3 readings1 assignment

This module guides you through transitioning from table views to collection views to better utilize screen space across different devices. You'll learn to configure collection view cells, adjust layouts dynamically using size classes, and test your app on various device simulators. By the end, you'll enhance your app's adaptability and visual appeal for both iPhone and iPad users.

What's included

1 video6 readings1 assignment

This module introduces SwiftData, Apple's modern framework for app data persistence, and guides learners through implementing persistent storage for journal entries. You will learn how to modify data models, manage data using singleton patterns, and update view controllers to save and retrieve data effectively.

What's included

1 video4 readings1 assignment

This module introduces SwiftUI as a modern framework for building Apple app interfaces, emphasizing the creation and customization of views, navigation, and the integration of MapKit for interactive maps. Learners will transition from storyboard-based UI development to SwiftUI's declarative approach, gaining hands-on experience with dynamic interface updates and map features.

What's included

1 video3 readings1 assignment

This module introduces you to Apple's new Swift Testing framework, guiding you through the process of setting up unit tests and validating code functionality. You'll gain hands-on experience by writing and running tests for the JournalEntry class, ensuring your code meets specified requirements and behaves reliably in collaborative projects.

What's included

1 video2 readings1 assignment

This module introduces learners to Apple Intelligence, focusing on its integration within Xcode and the JRNL app. You will discover how generative AI features like Writing Tools can enhance app functionality, including predictive code completion and text editing capabilities. Practical guidance is provided for implementing Writing Tools in your own applications.

What's included

1 video2 readings1 assignment

This module guides you through the essential steps for preparing, testing, and submitting your iOS app to the App Store. You will learn how to set up developer accounts, create certificates and provisioning profiles, complete your App Store listing, and manage external testing. By the end, you'll be equipped to navigate the app submission process with confidence.

What's included

1 video6 readings1 assignment

Instructor

Packt - Course Instructors
Packt
1,946 Courses566,769 learners

Offered by

Packt

Why people choose Coursera for their career

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Frequently asked questions