
Set up your Mac and install Xcode to start iOS development; explore Swift basics, including functions, constants, and protocols using Xcode playgrounds, and prepare to build a social media app.
Explore functions in Swift using Xcode playgrounds, declare a hello function with no parameters, and call it to print to the console with a new line.
Discover how to write a hello function that returns a string, using explicit return types, and distinguish between printing and returning in pure functions.
Explore pure functions in Swift by defining functions with name, arguments, return type, and body, using external and internal parameter names, defaults, underscores, and multi-line string interpolation.
Learn to build a fully functional iOS social app with SwiftUI and UIKit, using Firebase for authentication, real-time data, and posts, plus StoreKit IAP, testing, and App Store submission.
Document the app blueprint before development using Obsidian's markdown editor to outline authentication, profiles, posts, follow relations, and UI structure for a clear MVP.
Learn how to create a SwiftUI project for a social media app, add and use a custom font, set up assets and Info.plist, and prepare for Firebase authentication integration.
Add a helper folder and a dynamic toast view in SwiftUI to provide non-intrusive authentication feedback, with a hex-based custom color system and a convenience initializer for easy color usage.
Learn to integrate Firebase into a SwiftUI app, build a main view model, and implement sign in and sign out with authentication, Firestore, and Storage.
Create a combined auth view in SwiftUI for sign-in and sign-up, enabling Firebase authentication, storage, and Firestore setup, with a pattern background and reusable image assets.
Demonstrates a valid email check via regex with a non-empty password, toggling the button's disabled state, colors, and opacity, and moving helper functions to the view model extension.
Implement sign up, sign in, and sign out with Firebase authentication in a SwiftUI app, and manage a user data model with uid and email in the main view model.
Fix a navigation stack bug by building a user profile view with a sign-out flow from settings, using a route view ID and onReceive to reset root view on sign-out.
Create a user on signup by writing a Firestore document in the users collection, using the UID as the document ID and storing userID and email, within the view model.
Switch Firestore from datastore mode to native mode, enable authentication, and create user documents linked by user IDs to support posts and followers in your SwiftUI app.
Develop a custom image picker in SwiftUI using a UI view controller representable to test uploading posts to Firestore, including image selection, editing, and dismissal via a coordinator.
This lecture fixes the profile view by adding a scroll view to resolve layout constraints from the image picker, and introduces reusable SwiftUI modifiers to streamline the auth view.
fetches a user's posts from Firestore using an async function, maps documents to the post model, and updates the user interface via a published posts property.
Expand the image picker to support hero, cafe, and stay images with an image type enum, use picker.dismiss, and drive a carousel post view via an image picked closure.
Create an image type enum for hero, cafe, and stay images and update the image picker and post view UI to support a carousel-style post.
Build a create post view in SwiftUI with image picker, view model, back navigation, and fields for place name, url, budget, and ratings, plus a post button.
Update the create post view UI in this SwiftUI social app by refining colors and text field behavior, plan profile image and explore page with async image loading.
Demonstrate profile image update functionality in a SwiftUI app by choosing an image, uploading to storage, and updating Firestore with the image URL.
Create a generic user profile view within the explore page by fetching all database users, displaying their posts, and enabling navigation to individual profiles.
Implement a two-way follow system in a SwiftUI app with Firestore, using followers and following subcollections, updating both users, and handling follow and unfollow actions.
Develop a SwiftUI connections page to show followers and following, fetch user followers and following, and enable follow and unfollow actions in the profile view.
Fixes a follower–following bug in a SwiftUI Firebase app by ensuring follow/unfollow updates refresh the view model, fetches user following data, and syncs followers and following collections in real time.
Integrate Kingfisher via swift package manager, replace async image with Kingfisher across posts and profiles, configure image cache limits, and add placeholders and progress visuals to improve loading.
Build a custom alert view controller in UIKit with programmatic layout, including a title, message, and action button, and learn basic constraints and dismiss logic.
Implement a custom overlay loader and specific error alerts using an app error enum, the top view controller extension, and dispatch queues to handle sign out, fetches, posts, and updates.
Implement the home feed by fetching posts from followed users, including your own, using a dispatch group to parallelize fetches, shuffle results, and display a six-post feed in SwiftUI.
Fix the follow/unfollow bug in a SwiftUI and Firebase social app by replacing isFollowing with a following user id array, ensuring consistent state across views and data fetches.
Make the SwiftUI post view dynamic by parameterizing width and height across components. Replace hardcoded values with responsive sizing, use curvy rectangles and overlays, and scale text.
Implement a non-consumable in-app purchase behind a post paywall to unlock the full app for a one-time fee, configured via App Store Connect and product IDs.
Test in-app purchases using a sandbox account, create and sign in as test users, unlock premium features, verify purchases with Firebase data, and prepare for TestFlight deployment.
Archive your app and distribute to test flight or the app store. Prepare screenshots, promotional text, privacy policy, and in-app purchases for review.
In this comprehensive iOS app development course, you’ll embark on a journey to build professional, real-world apps from start to finish. Whether you're just getting started or looking to expand your skills, this course covers everything you need to know to confidently develop, test, and publish iOS apps using SwiftUI and UIKit. From creating dynamic interfaces and custom components to handling backend integration, we’ll equip you with the tools to bring your app ideas to life.
You’ll begin by mastering SwiftUI and UIKit, learning how to build stunning, responsive user interfaces with custom shapes, fonts, colors, and animations. As you move forward, you’ll dive into essential programming concepts like completion handlers, async/await, and Dispatch groups, which will allow you to manage complex workflows, ensuring your app runs efficiently.
The course delves deep into Firebase integration, providing you with the ability to add robust backend functionality such as user authentication, real-time data management, and the ability to create dynamic posts. You’ll learn how to work with collections and subcollections, empowering users to publish posts, follow others, and interact in a dynamic feed within your app.
We also focus on user experience by teaching you how to implement custom loading indicators, haptic feedback, and engaging custom UI elements. But the course doesn’t stop there—you’ll learn to add revenue-generating features by implementing in-app purchases using StoreKit, allowing you to monetize your app effectively.
Once the app is built, you'll gain hands-on experience in testing on real devices, ensuring your app functions perfectly in real-world conditions. From there, you’ll upload your app to TestFlight for beta testing and refine it based on feedback. We’ll guide you through App Store Connect, teaching you how to prepare your app for submission, manage in-app purchases, and navigate the App Store’s submission process.
By the end of this course, you’ll have built a fully functional iOS app, complete with a polished UI, robust backend, and monetization features, and you'll have the skills to confidently publish it on the App Store. Whether you're building a social networking app, a productivity tool, or anything in between, this course provides you with the foundation and expertise to succeed as an iOS developer!