
Meet a self-taught iOS developer who teaches with a friendly, relatable approach. Learn to take ownership of your learning, ask questions, and give feedback to maximize progress.
Explore functional programming in Swift and learn how map, reduce, and filter work, along with closures and type aliases, to clarify what functional programming means in practice.
Understand functional programming as a paradigm and coding style that avoids state and relies on pure functions that take inputs and return consistent outputs, illustrated with Swift concepts.
Explore closures and their role in functional programming by passing functions as types and into other functions, enabling pure functions and on-the-fly code in iOS apps.
Explore higher order functions and a type alias to transform an array of strings, using closures and a change array function that applies a manipulation function to each element.
Learn how map, a higher-order function, transforms arrays and dictionaries with a closure, returning a new array; see examples using lucky numbers and a dogs dictionary.
Explore using filter to narrow arrays and dictionaries to the desired elements, using booleans and modulo to detect even or odd, with shorthand syntax and dictionary examples, preparing for reduce.
Learn how to use reduce to collapse arrays and dictionaries into a single value, starting with an initial value and a closure, with numeric sums and string concatenation.
Demystify functional programming as a coding methodology and learn practical tools to apply it in your projects. Explore online resources and languages built around this idea to deepen your understanding.
Discover Realm, an open source database, as an alternative to traditional data stores, and build an address book app that backs up data while exploring Realm's platform similar to Firebase.
Install Realm by downloading the macOS bundle, set up cocoa pods in a new Xcode project, and import Realm Swift to replace Core Data with a simple Swift example.
Explore realm models and objects. Define a dog class as a realm object with dynamic properties and create a dog instance, then write it to the database with realm.write.
Learn to query, update, and delete dog objects in a realm database, and use the realm browser to inspect live lazy loaded results.
Design the address book interface by building a full-screen table view, embedding a navigation controller, and creating a form for name, phone, email, and photo.
Connect a tap on the contact image to launch the photo library picker, capture name, phone, and email, and prepare to save the new contact object to Realm.
Create a realm-backed contact model with name, phone, email, and image data, then save a new contact on tapping save using Realm Swift.
connect a table view to realm-backed data and display contact objects in a live, auto-updating list. sort by name and refresh on view appear to reflect new entries.
Tap a contact to view details (name, phone, email, image) in a reused detail screen, passing the contact via a segue and updating existing Realm records on save.
Explore the realm object server platform, run on macOS or Linux, locally or on a cloud server, and learn to create admin users, manage realms, and enable synchronized realm syncing.
Explore why Realm simplifies data modeling compared to Core Data, create Realm objects with minimal code, and compare backend options like Parsha and Firebase for iOS apps.
Explore two paths to work as an iOS developer—traditional employment and freelance contracts—by optimizing your resume and LinkedIn, finding jobs, and practicing mock interviews.
Learn to find iOS developer job openings in Iowa through person-to-person referrals, in-person networking, and meetups, plus resources like Stack Overflow jobs and Google searches.
Master resume visibility and relevance to secure interviews by tailoring content and highlighting projects. Build a LinkedIn profile and resume that attract recruiters and prepare for mock interviews.
Develop interview readiness for iOS roles by practicing a structured mock interview, dressing appropriately, arriving on time, and answering questions on abstraction, inheritance, and frame and bounds.
Learn to tackle mock interviews with honesty, problem-solving strategies, and Swift concepts like abstraction and inheritance. Get tips on date calculations and practice to improve under pressure.
Discover the freelance iOS development model, its freedom and pay, the irregular downsides, and how to land your first gig through meetups, portfolios, and freelance platforms.
Attend a local iOS development meetup and schedule next meeting, then apply to iOS developer jobs on three sites such as LinkedIn, Stack Overflow Jobs, and Dice to gain experience.
Reflect on completing the challenge and celebrate how iOS development can become paid work fueled by passion and ongoing side projects while sharing job-search experiences in the comments.
Learn localization by building a tip calculator that adapts to local languages and currencies, so the app feels familiar for users in America, France, Japan, and beyond.
Explore localization in a tip calculator iOS app by adapting labels and currency to the user's locale while preserving the existing calculation for bill, tip percentage, and total.
Build a functional tip calculator in an iOS storyboard app by wiring labels, text fields, and a three-segment control, computing tip and total with locale-aware currency.
Master storyboard localization in iOS by adding languages, generating strings files for the main storyboard, and translating labels with object IDs, while noting downsides like maintaining IDs and code-generated text.
Learn to localize iOS apps using code with NSLocalizedString and gen's strings, create and manage localizable strings, wire them to UI elements, and test language switches.
Switch your app to the region and use a currency formatter to display values in the user's currency. Show rounding and currency symbols for yen and euros with locale-aware formatting.
Add localization to one existing app by implementing two additional languages, such as Chinese and Spanish, based on user country data from iTunes Connect, to improve usability for international users.
Explore localization across languages and regions by using storyboard localization, Localizable.strings, and terminal tools, and apply a number formatter to display currency clearly.
Explore push notifications, how they alert users outside the app, and how Firebase simplifies implementation with real-world examples. Prerequisites include a paid developer account and a physical iOS device.
Explore how Apple Push Notification Service routes messages from your server or Firebase to iOS devices, the role of device tokens, and the setup steps for enabling push notifications.
Learn to set up Firebase for push notifications in an iOS app by creating a test Xcode project, configuring the bundle ID, and installing Firebase via CocoaPods with GoogleService-Info.plist.
Learn to configure push notifications for iOS by creating APNs certificates, provisioning profiles, and app IDs, then connect Firebase cloud messaging and export the certificates.
Test push notifications on a real iOS device by configuring provisioning profiles and signing in to Xcode, then use the device token with Firebase Cloud Messaging to deliver test notification.
Learn to handle iOS push notifications by extracting data from the userInfo payload, presenting alerts with a completion handler, and navigating to a specific screen when the user taps.
Learn to send push notifications from an iOS app with Firebase Cloud Messaging via an HTTP post, configuring authorization headers and server key, and building the request.
Push notifications act as a direct invite, reengaging users with timely updates. They emerge after setup with Apple and Google tools.
Learn a seven-step, practical approach to implementing in-app purchases in iOS apps, including how Touch ID simplifies user verification and boosts developer revenue.
Follow a seven step process to add in-app purchases to your app, from creating products in iTunes Connect to adding purchases to StoreKit's payment queue and implementing a restore button.
Plan and build an art gallery iOS app with a seven-step in-app purchase flow, featuring a collection view of free and paid artworks, restore support, and core data tracking.
Lay out the app interface by adding a top label, a gallery label, and a collection view with a restore button; then configure constraints and frames in the storyboard.
Learn to implement a collection view in iOS, build a custom art collection view cell, wire up data source and delegate, and size items for horizontal layouts across devices.
Learn to model art objects in core data, create an art entity with title, image name, purchased and product identifier, and fetch, update, and save in a gallery.
Create a gallery with custom collection view cells by importing Creative Commons images, wiring image views and title labels, applying aspect fill, and styling a white background.
Shows implementing in-app purchases for the bird and baby; marks items as not purchased in core data, displays a purchase label, and blurs locked images until purchased.
Learn to create and manage in-app purchases in iTunes Connect, set up bundle IDs and product IDs, choose non-consumables, and configure display names, descriptions, and screenshots for review.
Learn how to request available in-app purchase products from Apple using StoreKit, set product identifiers, handle delegate callbacks, and parse responses to identify ready vs not ready items.
learn to display in-app purchase prices by looping over product results, matching product identifiers to art pieces, and formatting prices with locale-aware currency for worldwide users.
Learn how to initiate in-app purchases in step four by handling tap events, selecting purchasable items, creating SKPayment, and adding transactions to the payment queue with a transaction observer.
Handle Apple’s in-app purchase responses by looping through SKPaymentTransaction array and switching on each transaction: purchased, purchased seen, failed, restored, deferred, then finish and remove the transaction from the queue.
Implement step 6: provide purchase by unlocking art on purchase, mapping product identifiers to gallery items, saving changes, and reloading the collection view to reflect purchased art.
Learn how to implement an in-app purchases restore button that meets Apple requirements, connect it in the storyboard, and restore prior purchases using the default payment queue.
Take on the challenge to add a buy all button in the bottom right that unlocks all images, integrate it with iTunes Connect, and manage the purchase flow.
Explore the seven-step process for implementing in-app purchases, recap through the gallery app, and encourage ongoing practice to cement your advanced iOS skills.
Explore building an iOS drawing app called easel, where users tap to draw on a white page with color options and learn through drawing challenges that cement digital doodling skills.
Create an easel-style drawing app by building a blank canvas, color buttons, and a random colors feature, then add a settings-driven brush size control and erasing options.
Set up the drawing UI by integrating a full-screen image view, a bottom color button stack, and a settings navigation, with assets and constraints in storyboard.
Learn how touches began, moved, and ended guide the drawing process by marking points and connecting them with lines to form curves on iOS from many tiny segments.
discover how Google and Stack Overflow provide a quick fix by using NSNotificationCenter to observe app did become active, and implement the Swift version in Xcode.
Draw your first lines by tracing touch points, connecting consecutive points with straight segments as you move, and render them in a graphics context on an image view.
Explore custom drawing in iOS by thickening lines, using rounded caps, and applying RGB colors. Optimize testing with segues and weak references, using a reset action for quick iteration.
Learn to implement color selection in a drawing app by tapping blue, green, red, yellow, or random, changing the pen color via RGB properties.
Learn to polish the drawing app by fixing tap-to-draw behavior and adding a share art feature using a UI activity view controller to save or post art.
Tackle a brush size challenge by linking settings to the drawing view, implementing adjustable brush width with a preview, and exploring a rainbow stroke option.
Apply core graphics fundamentals to draw lines and curves, stroke shapes, and work with image contexts. Build confidence to tackle advanced iOS graphics tasks and simple animations.
Explore how the split view controller adapts to iPad and iPhone, showing two view controllers side by side on wide screens or a single view on small ones.
Sketch a split view iOS app that lists basketball players in a table view and shows detailed, color-coded information on selection, using a stack view inside a scroll view.
Set up a new iOS project in Xcode and implement a split view controller, configuring a master and detail view with color-coded backgrounds to demonstrate side-by-side layouts.
Define a player data model as a Swift struct with name, height, age, college, image, and colors, plus a static createPlayers to populate the array.
Create a master view for a split view controller using a full screen table view that lists players, with the detail view on smaller screens.
Implement a split view with a master list and a detail view, using a navigation controller and show detail segue triggered by didSelectRowAt to display the selected player's information.
Build a scrollable player detail view with a stack inside a scroll view, showing image, name, height, age, and college, and pass the selected player to a detail view controller.
Clean up the UI by styling image views, rounding them into circles with clips to bounds, adjusting colors and labels, and centering stack view constraints with padding views.
Master the split view controller on iPad and iPhone 6 Plus by enabling all visible mode and implementing the delegate to collapse the detail view for a polished, responsive interface.
Take on a hands-on challenge to build a split view controller app that updates the detail view from the master without a table view, using your own interactive content.
Explore split view controllers to make your app look great on all Apple devices, complete the challenge to cement your learning, and celebrate building a personal, cool app you designed.
Explore Apple Pay, in-app purchases, and when to use each, then walk through implementing Apple Pay in an app with a practical sketch and a concluding challenge.
Compare when to use Apple Pay versus in-app purchases based on physical goods or services versus virtual digital content, and understand the 30/70 revenue split and setup implications.
Sketch a sticker Cove app listing stickers in a table view, showing product details, and enabling Apple Pay or credit card for shipping physical goods with confetti on purchase.
Build a product listing app with a table view and a cell showing image, title, and price, in a navigation controller, and configure constraints and data source for Apple Pay.
Build a sticker data model with name, price, and image to back a table view, avoid hardcoding products, and prepare for Apple Pay through a backend or Shopify integration.
Wire the table view to perform a detail segue and pass the selected sticker to a detail view. Display the image, name, price, and Apple Pay and credit card buttons.
Implement an Apple Pay button with PassKit PKPaymentButton, configure its style and type, and wire the tap action while handling canMakePayments to show buy or setup.
Explore how to implement apple pay with PKPaymentRequest, configure networks, currency, and country, and present the apple pay view controller to obtain a payment token.
Learn to implement Apple Pay delegate by wiring payment authorization view controller delegate, handling did authorize payment and did finish, and using completion status to signal success or failure.
Learn to implement Apple Pay shipping options—free, express, and overnight—and update the order total in real time as users select a shipping method.
Learn to implement Apple Pay for a sticker order, display shipping and total, and present a confetti filled thank you page with the receipt email.
Design a shopping cart flow with an add to cart button and a unified checkout using Apple Pay, enabling users to accumulate selected items and purchase in a single order.
Explore Apple Pay's streamlined checkout and thumb-verified purchase flow, compare it with other checkout options, and understand why saving payment info can boost digital and physical sales.
Have you taken a beginner iOS class on Udemy? Are you looking for something more? Do you want to advance beyond the basics of making simple iPhone apps? Do you want to dive deeper, get paid to make apps, and launch your career in iOS development? Or do you simply want to become an amazing iOS developer?
If you haven’t taken a beginner class yet, you should. :) They’re wonderful! But if you have, you realize there comes a point when you’re ready to move on, move forward, and escalate your capabilities. You want to build amazing apps, apps that can handle greater complexity, and apps that truly impress. You want to see results in your career and in your earning potential. You want to become an advanced iOS developer.
Topics Covered:
Enroll now to take your iOS skills to the next level.