iOS App Development — Fundamentals


iOS App Development — Fundamentals

Authors: Karoly Nyisztor, Simon Allardice, Andrew Bancroft, Jonathan Wong, Mark Moeykens, Harrison Ferrone, David Nutter

Learn to build iOS apps for iPhone and iPad. You'll begin with the Swift programming language, explore Apple's Xcode IDE and cover all the essential concepts, architectural... Read more

What You Will Learn

  • The Swift Programming Language
  • Xcode and other iOS Development Tools
  • Building your first iOS application
  • Testing and debugging iOS apps
  • Creating Adaptive User Interfaces
  • Multiple Options for Data Persistence


Basic programming experience

Getting Started

Any iOS development begins with a firm foundation: here, we dive into the Swift programming language, use Xcode to manage iOS projects and create adaptive iOS user interfaces, and explore the fundamental principles, software patterns and techniques you'll need in any iOS app you make.

iOS App Development: The Big Picture

by Karoly Nyisztor

Jun 10, 2021 / 1h 24m

1h 24m

Start Course

Getting to know to know the fundamental architectural patterns, techniques and design principles required to develop iOS applications can be intimidating. In this course, iOS App Development: The Big Picture, you’ll learn to write better iOS apps using Swift. First, you’ll explore Apple’s Xcode IDE and discuss the essential iOS concepts. Next, you’ll discover the power of adaptive iOS interfaces. Finally, you’ll learn how to leverage Swift and powerful architectural patterns to bring your game to the next level. When you’re finished with this course, you’ll have a high-level understanding of what it takes to build iOS applications.

Table of contents
  1. Course Overview
  2. Getting Started with iOS Development
  3. Introducing Swift
  4. Creating One-size-fits-all Apps
  5. Elevating Your App Design Skills

Swift Fundamentals

by Simon Allardice

Jan 10, 2019 / 3h 47m

3h 47m

Start Course

At the core of developing for any Apple platform iOS, macOS, tvOS, or watchOS - is a thorough knowledge of Swift. In this course, Swift Fundamentals, you will learn to be comfortable and competent in this concise and powerful language. You will learn how this language works with data, move beyond the basics of control flow into closures and extensions, and you'll finally learn how to adopt the mindset of protocol-oriented programming, to tap into the huge amount of functionality that already exists in the Swift world. When you're finished with this course, you will have a foundational knowledge of Swift that will help you as you move forward to developing apps on iPhone, iPad, or Mac.

Table of contents
  1. A Few More Reasons to Learn Swift
  2. Piece by Piece: What Your Data Means
  3. Shaping the Path: Controlling the Flow of Your Code
  4. Constructing Code: Who Does What? - Creating Functions
  5. Taking Data Types Further: When to Limit, Describe, and Collect
  6. Making Sense of Closures
  7. Using Classes and Objects in Swift
  8. Introducing Protocols

iOS 14 Getting Started

by Andrew Bancroft

Dec 4, 2020 / 4h 48m

4h 48m

Start Course

Developing for iOS is a valuable and in-demand skill, but if you haven't developed in the Apple world before, it can be surprisingly different. In this course, iOS 14: Getting Started, you'll quickly get up and running using Xcode 12, Swift 5, and SwiftUI to build great iOS apps and tap into the latest features in iOS 14. First, you'll see the tools and learn how to create iOS apps with adaptive user interfaces that work on multiple devices.

Next, you’ll learn how to manage iOS projects and define the building blocks of your own iOS applications. Finally, you'll explore working with data-driven controls and understand navigation options. When you’re finished with this course, you'll know current best practices, iOS architecture, and the most important ideas you need to feel comfortable bringing your developer skills into the iOS and Apple developer world.

Table of contents
  1. Course Overview
  2. Preparing to Build iOS Applications
  3. Building Single View Applications
  4. Creating Data-driven Lists
  5. Building iOS Apps with Multiple Screens
  6. Adding Behavior and Working with Data
  7. Putting It All Together
  8. Publishing to the App Store


Once you're comfortable with the basics, start building your iOS skills by exploring more about debugging, testing, building iOS user interfaces that adapt to any device, and diving deeper into the iOS app construction and lifecycle.

Becoming an Xcode Power User

by Jonathan Wong

May 22, 2020 / 2h 34m

2h 34m

Start Course

Spending time to really understand and learn the tools at your disposal will make you more effective and more productive in your long career as a developer for Apple platforms. In this course, Becoming an Xcode Power User, you will learn the skills necessary to work proficiently as an iOS developer by effectively leveraging the power of Xcode. First, you will cover some of the core concepts in Xcode to better understand how to use Xcode’s higher level features. Then, you will explore how to navigate efficiently through Xcode in order for you to find your best workflow. From there, you will learn about various features that empower developers to be more productive like open quickly, refactoring, and code folding to name a few. Next, you will spend time learning how to use Git with Xcode, allowing you to stay in Xcode as you build software. Finally, you will discover how to customize and configure your workflow even more with custom behaviors, code snippets, and custom themes. By the end of this course, you will know the intricacies of Xcode, and have the skills necessary to effectively utilize it for your next great iOS app.

Table of contents
  1. Course Overview
  2. Managing Projects and Workspaces in Xcode
  3. Building Xcode Projects: Configuring Schemes and Targets
  4. Navigating through Xcode: Finding Your Workflow
  5. Productivity in Xcode
  6. Source Control in Xcode
  7. Configuring and Customizing Xcode with Key Bindings and Behaviors
  8. Making Xcode Work for You with Code Snippets and Documentation

iOS Debugging Fundamentals

by Andrew Bancroft

Dec 23, 2019 / 1h 24m

1h 24m

Start Course

Bugs are bound to happen. Getting rid of them is an essential skill if you want to keep your sanity when building apps. In this course, iOS Debugging Fundamentals, you will learn a set of thinking skills to couple with the fundamental tools that Xcode provides you for finding and fixing flaws in your apps. First, you will learn to approach debugging situations with a set of principles for strategic problem solving. Next, you will discover how to configure breakpoints and inspect view hierarchies effectively. Finally, you will explore how to interpret a backtrace, glean valuable information from the Xcode debug area and console, locate changes in your codebase and simulate conditions that happen in the wild. When you are finished with this course, you will have the skills and knowledge to strategically and methodically reason about probable causes of defects that you experience at runtime.

Table of contents
  1. Course Overview
  2. Debugging as Strategic Problem Solving
  3. Correcting Unmet Expectations
  4. Addressing App Crashes
  5. Alleviating Anomalies

iOS Data Persistence: The Big Picture

by Andrew Bancroft

Apr 29, 2019 / 1h 8m

1h 8m

Start Course

You have plenty of data persistence options to choose from on iOS. In this course, iOS Data Persistence: The Big Picture, you will be empowered to distill an overwhelming amount of information down into the big picture possibilities for saving data on iOS. First, you will learn the reasons for saving data to help ground you as you begin to traverse the data persistence landscape. Next, you will discover how to use technologies like User Defaults and Property Lists, and I will guide you on how to work with Swift’s Encodable and Decodable protocols. You will understand what you’re getting into if you choose to work with SQLite, Core Data, or Realm Database for local data persistence. You will know how it feels to reach for a remote data storage option like CloudKit, Realm Platform, or Firebase. Finally, you will see a clear picture of what it’s like to design a document-based application and integrate your app’s data with the iOS Files app. When you’re finished with this course, you will have the skills and knowledge you need to make an informed decision about putting a reliable data storage plan for your iOS app into action.

Table of contents
  1. Course Overview
  2. Establishing the Data Persistence Landscape
  3. Saving Settings and Configuration
  4. Saving Objects and Object Graphs
  5. Saving Data as Documents and Files

iOS Collection Views: Getting Started

by Mark Moeykens

Jun 13, 2019 / 2h 26m

2h 26m

Start Course

Have you ever wanted to learn to create visually stunning collection views but were afraid because they seemed too complex? Well, fear no more because in this course, iOS Collection Views: Getting Started, you will learn multiple ways to present amazing looking collection views in your apps! First, you will learn how to show your first collection view with just two functions. Next, you will discover layout and spacing options to take your collection views to the next level so they look great on any size device. Finally, you will explore and implement multiple, horizontally-scrolling collection views. When you have finished this course, you will have the skills and knowledge of collection views needed to use them in your apps to make your data look great!

Table of contents
  1. Course Overview
  2. Course Introduction
  3. Your First Collection View
  4. Customizing Size and Spacing
  5. Supplementary Views (Section Headers and Footers)
  6. Customizing Collection View Cells
  7. Horizontally Scrolling Collection Views
  8. Adding Multiple Collection Views to the View Controller
  9. Course Summary

iOS Networking with REST APIs

by Harrison Ferrone

Aug 20, 2019 / 1h 30m

1h 30m

Start Course

Gathering, interpreting, and displaying data is one of the most fundamental features an iOS application can offer its users. In this course, iOS Networking with REST APIs , you’ll explore the skills needed to efficiently tap into web service data and translate it into usable data models. First, you’ll learn the basics of RESTful web services, along with how networking is handled in Swift. Next, you’ll explore how to make data requests, deal with the background thread, and gracefully handle feedback or errors. Finally, you’ll get hands-on experience converting data into usable objects that can be displayed to users. When you’re finished with this course, you’ll be equipped to work with REST APIs in iOS and Swift and deliver the data your users need.

Table of contents
  1. Course Overview
  2. Web Services and Networking
  3. Fetching API Data
  4. Creating Codable Data Models
  5. CRUD Operations and Authentication
  6. Intermediate Tasks, Sessions, and Queues

Testing Fundamentals in iOS

by Jonathan Wong

Aug 23, 2019 / 2h 24s

2h 24s

Start Course

Code is constantly changing, features are continuously being added, and bugs are being filed. Tests allow you to be productive and ensure your application is reliable, that you can refactor your codebase with confidence, and that you really squashed that bug. In this course, Testing Fundamentals in iOS, you’ll learn the basics of how to effectively test in iOS. First, you'll explore how to set up test targets. Next, you'll learn how to write unit tests, integration tests, and UI tests. Finally, you'll delve into mocking and testing asynchronous code. By the end of this course, you’ll know the best practices in writing testable code, how to gather code coverage, and how to randomize and parallelize your tests in practice.

Table of contents
  1. Course Overview
  2. Setting up Unit Tests in Your Project
  3. Making Your Code Testable
  4. Asynchronous Testing
  5. Mocking Your Tests
  6. Code Coverage and Performance Tests
  7. UI Tests
  8. Testing Your View Controllers

Next Steps

As you get further into iOS development, your needs will become more specialized, as you pick and choose from various technologies based on the requirements of the app - here are a few examples:

CloudKit Fundamentals

by Andrew Bancroft

Sep 20, 2018 / 3h 30m

3h 30m

Start Course

At the core of developing a seamless and collaborative data sharing experience for Apple’s platforms is a thorough knowledge of CloudKit. In this course, CloudKit Fundamentals, you’ll learn to leverage Apple’s flagship framework to achieve your app’s remote data storage and data sharing requirements. First, you’ll learn how to configure CloudKit in your Xcode project and how to save, query, update, and delete data that your users store in iCloud. Next, you’ll explore how to synchronize data across a user’s devices. Finally, you’ll discover how to handle CloudKit errors, test your app on physical devices, and deploy to production. When you’re finished with this course, you’ll have a foundational knowledge of CloudKit that will help you provide a fluid, interactive data sharing experience.

Table of contents
  1. Course Overview
  2. Setting up CloudKit
  3. Modeling and Saving Data
  4. Querying, Displaying, Updating, and Deleting Data
  5. Synchronizing Data Across Devices
  6. Modeling Relationships Between Record Types
  7. Planning for Production

Core Data Fundamentals with Swift

by Andrew Bancroft

Mar 31, 2017 / 4h 38m

4h 38m

Start Course

Managing data is crucial to building dynamic mobile apps. You won't be able to escape the need to save data to a user's device. When that need arises, Core Data can be a powerful tool to help solve the data persistence challenges of just about any app, no matter how big or small. In this course, Core Data Fundamentals with Swift, you'll learn how to set up and architect an app with Core Data so that it's maintainable and testable. First, you'll discover how to create a data model and explore how to save, access, and delete data. Next, you'll explore how to keep a user interface in sync with the data in your persistent store as users interact with your app. Finally, you'll see how to implement changes to your data model, even after your app is published to the App Store. When you're finished with this course, you'll have the foundation you need to start using Core Data in your apps today.

Table of contents
  1. Course Overview
  2. Starting Out with Core Data
  3. Setting up the Core Data Stack
  4. Creating a Data Model
  5. Building Relationships Between Entities
  6. Saving and Accessing Data
  7. Showing and Synchronizing Data with NSFetchedResultsController
  8. Making Changes to Core Data Models with Model Versions
  9. Understanding Core Data Changes in iOS 10 and macOS Sierra

Objective-C for Swift Developers

by David Nutter

Jan 30, 2020 / 1h 22m

1h 22m

Start Course

At the core of developing for Apple platforms is a thorough knowledge of how to take advantage of the rich number of libraries and frameworks that were written in Objective-C. In this course, Objective-C for Swift Developers, you'll gain the ability to read, understand, and use Objective-C code in your own Swift projects. First, you'll learn basic syntax of the Objective-C language. Next, you’ll explore classes and learn about the dynamic runtime. Finally, you’ll discover how to provide interoperability between Objective-C and Swift code. When you’re finished with this course, you’ll have a foundational knowledge of Objective-C that will help you as you move forward to developing applications for iOS, macOS, tvOS, and watchOS.

Table of contents
  1. Course Overview
  2. Working with Objects
  3. Enhancing Classes
  4. Integrating Objective-C with Swift

Getting Started with Server-side Swift and Vapor

by Jonathan Wong

Jan 5, 2019 / 2h 21m

2h 21m

Start Course

Vapor is a powerful Server-side Swift framework for building web applications. In this course, Getting Started with Server-side Swift and Vapor, you’ll learn everything you need to know to start building web applications with Vapor. First, you’ll set up your dev environment and cover the basics of building a Vapor app on both macOS and Linux. Then, you’ll explore routing and persisting models to a database. Once the infrastructure is in place, you’ll take the next steps and build out a website to handle CRUD operations. Finally, you’ll deploy this app to two cloud platforms, Vapor Cloud and Heroku. When you’re finished with this course, you’ll have a strong understanding of Server-side Swift development and Vapor that will help you build your next web app in Swift.

Table of contents
  1. Course Overview
  2. Getting Started
  3. Routing with Controllers and Persisting with Fluent
  4. Templating with Leaf and Beautifying with Bootstrap
  5. Deploying to Vapor Cloud and Heroku
Offer Code *
Email * First name * Last name *
Country *

* Required field

Opt in for the latest promotions and events. You may unsubscribe at any time. Privacy Policy

By providing my phone number to Pluralsight and toggling this feature on, I agree and acknowledge that Pluralsight may use that number to contact me for marketing purposes, including using autodialed or pre-recorded calls and text messages. I understand that consent is not required as a condition of purchase from Pluralsight.

By activating this benefit, you agree to abide by Pluralsight's terms of use and privacy policy.

I agree, activate benefit