
Get started right away building your first iPhone app, exploring iOS 8 and Swift basics in this hands-on course.
Use spotlight to download Xcode from app store, sign in with Apple ID, and install the 2.46 GB package to start building a freaking iPhone app on Yosemite or Mavericks.
Create a Swift single view app in Xcode, drag a button onto the storyboard, connect an action, and turn the screen red when tapped in the iOS simulator.
Nick Walter shares his iOS journey from ground zero to building apps, detailing his summer nickname Rick, missionary background, and learning path through internships and meetups.
Learn how to make apps, submit them to the App Store, and develop your dream app through hands-on projects you can showcase to employers.
Experiment with ideas and customize examples to build your own app rather than just following tutorials. Engage actively by asking questions, leaving feedback, and sharing your work on MadeUpByPeople.com.
Build your first real iOS app, the emoji dictionary, and you'll love it as you get started.
Sketch your app first to map the user flow, then build a two-page emoji dictionary that uses a list (table view) to show an enlarged emoji and its description.
Launch Xcode to create a new single-view app named Emoji Dictionary, configure bundle identifiers, and explore the left panel, storyboard, and iOS simulator for quick iterative testing.
discover what a view controller is, set an initial view controller in storyboard, and create a code version like emoji list view controller using UIKit in a single view app.
Link the storyboard to code by assigning the view controller class, align file and class names, and use viewDidLoad to set the background blue, then run to verify the connection.
Create and populate your first table view in a view controller, display emojis, run the app, and verify the table view works as expected.
Connect the storyboard table view to code, implement the data source and delegate, and define how many rows and what each cell displays using UITableViewCell.
Create and use an emoji array to drive a table view, setting the number of rows with emojis.count and displaying each item via self.emojis[indexPath.row].
Create a second view controller to display a large emoji and its definition, using auto layout constraints to center content and enable navigation when tapping an emoji.
Connect two view controllers using a segue by presenting the emoji list modally, assign a descriptive segue identifier, and trigger it from tableView didSelectRowAtIndexPath with performSegueWithIdentifier.
Learn to implement a navigation controller to enable back navigation and back button, configure a root view controller, and use a show segue instead of present modally.
Create EmojiDetailViewController, connect it to the storyboard, add an emojiLabel outlet, pass the tapped emoji from the list, and confirm the setup by setting the background to orange.
Create communication between the emoji list and the EmojiDetailViewController by adding an emoji property, passing the tapped emoji via prepare for segue, and updating the detail label.
Fix the emoji dictionary app by adding the title Emoji Dictionary and tightening auto layout to remove the bottom gap. Extend the detail view controller to edit the second label.
Connect the emoji definition label to code and populate it from the emoji dictionary. Implement if-then logic in the detail view to display the correct definition for each emoji.
Finish the emoji dictionary by showing how tapping a list reveals the emoji and its definition with back navigation, and highlight table views and sketching the app idea.
Understand why an Apple developer account matters for submitting apps to the App Store and loading them on your phone, plus early beta access for $99 per year.
Enroll in the iOS developer program by creating an Apple ID, selecting individual or company enrollment, and paying, noting that company enrollment may require a D-U-N-S number and 24-hour approval.
Craft a two-screen soundboard app with a table view of sounds you can tap to play, add new sounds by naming, recording, and saving or canceling, all built in Xcode.
Create an iOS 8 Swift app in Xcode, set up a single view project with Core Data, and add a navigation controller with a sound list table view in SoundListViewController.
Wire a table view in a Swift iOS app by connecting storyboard to the view controller, setting the data source and delegate, and implementing rows and cells with sample data.
Learn to play a bundled audio file nickSings.m4a in a table view using AVAudioPlayer from AVFoundation, convert it to a URL, and call play in didSelectRowAtIndexPath.
Create a Sound class with a name and URL, build a sounds array, append sound objects, and show each sound’s name in the table view cells.
Add a plus button that presents a modal new sound editor. Provide cancel and save, a text field with placeholder, and a record button.
Connect a new sound view controller to the storyboard, implement cancel and save actions, update the sounds array, and refresh the table view with prepare for segue.
Here is the code that you need to paste in. Unless you like typing ;)
var baseString : String = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0] as! String
var pathComponents = [baseString, "MyAudio.m4a"]
var audioURL = NSURL.fileURLWithPathComponents(pathComponents)
var session = AVAudioSession.sharedInstance()
session.setCategory(AVAudioSessionCategoryPlayAndRecord, error: nil)
var recordSettings: [NSObject : AnyObject] = Dictionary()
recordSettings[AVFormatIDKey] = kAudioFormatMPEG4AAC
recordSettings[AVSampleRateKey] = 44100.0
recordSettings[AVNumberOfChannelsKey] = 2
self.audioRecorder = AVAudioRecorder(URL: audioURL, settings: recordSettings, error: nil)
self.audioRecorder.meteringEnabled = true
self.audioRecorder.prepareToRecord()
Learn to implement a toggle between recording and stopping in a Swift iOS app, manage an audio session, save sound data, and update a table view with new sounds.
Learn to persist sounds with Core Data in a Swift iOS app, creating a Sound entity with name and url and using a managed object context to save and fetch.
Master Core Data in a Swift sound board app by saving new sounds to Core Data and refreshing data on view will appear via fetch requests.
Tackle two iOS UI challenges: deselect the highlighted tapped table view cell with tableView.deselectRowAtIndexPath animated, and resize the navigation bar height via storyboard constraints.
Learn to manage iOS app features by playing and recording audio, using core data, and building table views, then discover how to submit apps to the App Store.
Plan ahead for App Store submissions by optimizing metadata—icon, screenshots, title, description, and keywords—and learn how Apple reviews and rejects apps, with tips and a real submission example.
Learn how to set up iOS development certificates, app identifiers, devices for testing, and provisioning profiles, using Xcode and the Apple developer site to sign and deploy your app.
Learn to create a production certificate for App Store and ad hoc submissions via the Apple developer site, and to generate a certificate signing request with Keychain Access.
Generate an iOS distribution certificate in Xcode and create App IDs for provisioning. Learn about the wildcard App ID for testing and the role of UDIDs for beta testers.
Create and submit your iOS app by configuring a provisioning profile with an app ID and distribution certificate for the App Store, then prepare store metadata in iTunes Connect.
Learn to use iTunes Connect to manage an app’s marketing data, pricing, ads, and assets, sign in, and navigate My Apps, Sales and Trends, and payments.
Upload screenshots for four iPhone sizes in iTunes Connect, optimize the title and keywords, and provide descriptions and icons. Then submit a build for review and manage release timing.
Package your iOS app as a build, submit via iTunes Connect, and configure provisioning, icons, and launch screen, then archive in Xcode and wait for review.
This intro covers the essentials of Swift to build a base for iOS development, guiding you toward app store readiness and Apple approval, with notes that the coverage isn't comprehensive.
If you would like a coupon code, please message me :)
Learn to use a playground in Xcode to define and change variables with var, and declare constants with let that cannot be changed. See results as you experiment with Fido.
Explore strings and ints in Swift, learn how strings are text with quotes and emojis, and how Swift infers int types from values like 8 or 12.
Explore if statements and booleans in Swift, using true or false logic to drive variable changes with examples like dog age comparisons, else branches, and boolean types.
Master arrays as ordered lists in Swift, create and append items with append or +=, and enforce type safety. Access elements with zero-based indexing and use count to determine size.
Master for loops that traverse arrays like the dogs array, print each name with print line, and control iterations using 1...5 and 1..<9.
Discover how dictionaries map keys to values in Swift, enable fast lookups, and learn to add or update entries with string keys and integer values.
Learn how to define and call functions, use parameters like firstName and secondName, and return strings. See examples that print dog names and combine names with proper spacing.
Learn Swift classes as blueprints for objects, with properties like age and name. Create instances, update properties, and use methods like dogInfo with self.
Graduate with confidence in Swift and Xcode, understanding how functions return values, and how strings and integers work, enabling you to build more iOS apps.
Explore the iOS developer ecosystem by connecting with essential websites, events, and groups that iOS developers rely on, plus personal favorites and popular alternatives to boost your network.
Discover how to search StackOverflow and Google for iOS solutions, and assess answers by upvotes. Explore Cocoacontrols, GitHub, and weekly resources like iOSDevWeekly, SwiftDevWeekly, and Raywenderlich tutorials.
Discover local iOS and Mac developer groups like CocoaHeads and MeetUp, watch WWDC to learn about Swift, and explore CocoaConf and Startup Weekend to collaborate on apps.
Collaborate with experienced iOS developers through CocoaHeads or local conferences, ask questions, and leverage community resources to accelerate learning and overcome development roadblocks.
Create a pattern cataloging app that uses the camera to capture front and back pattern images, saves a name, shows fabric requirements, and enables pinch-to-zoom via a UIScrollView.
Sketch the app to map categories such as shirts and pants with pattern thumbnails and front/back previews, then build a minimal MVP to add patterns, capture images, and save them.
Create a Xcode project named patterns, enable core data, and build a navigation controller with a table view to list patterns, wiring storyboard to code as data source and delegate.
Define a Pattern entity in Core Data with name, frontImage, and backImage. Use a managed object context to insert and fetch test Pattern objects for display in a table view.
Learn to display a pattern image in a table view by adding a test image and wiring the cell’s image view to show each pattern’s front image.
Create a pattern detail workflow by configuring a storyboard segue, wiring a PatternDetailViewController, and laying out front and back images and labels with auto layout for a tappable pattern preview.
Learn to pass the selected pattern to the detail view via prepare for segue, update the title, and display front and back images, with zoom on tap planned.
Implement pinch-to-zoom on images in a scroll view, triggered by tapping gallery images. Pass the selected image to a zoom view controller via prepare for segue.
Create a modal pattern editor with name and image fields, configure save and cancel actions, wire Core Data context, and refresh the patterns list via viewWillAppear.
Launch the camera from image views, capture front and back photos, and save them as a pattern by converting images to data for storage.
Learn the core debugging skills for iOS development, including what a bug is, how debugging identifies causes, and essential techniques to quickly fix issues.
Diagnose bugs by reading Xcode error messages and using breakpoints to locate the crash. Rely on Google with queries like 'has no segue with identifier' and 'performSegueWithIdentifier' to find solutions.
Master breakpoints to pause and inspect code, step through lines, and view variables like self.emoji and self.Emojis, using the left gutter to manage and disable them during debugging.
Learn to print to the console in swift with println and print, using string interpolation with dogAge, and understand newline behavior and debugging with breakpoints.
Explore advanced debugging with LLDB, edit breakpoints, and run Instruments profiles to analyze memory and CPU usage in your iOS app.
Explore debugging as an art and use this resource to apply principles, work through issues quickly, and fix problems with your preferred methods, including print-lines, toward bug-free code.
We have a new class!
Search "iOS 9 Adventure" for the most up-to-date material.
Or you can scroll down to the very bottom of this page, and find my iOS 9 class in More From Nick Walter.
This is the class I wish I had when I was trying to learn iOS development. I have a unique perspective to teach this class because I've been the newb that couldn't understand tutorials or blog posts. No prior programming experience is required.
I will walk you through everything you need to start making apps. Getting Xcode (the program we use to make apps) setup and on your machine, making a developer account with Apple, and running the iPhone and iPad simulator on your mac.
I firmly believe that the best way to learn is by doing. So we'll make a series of 8 killer apps, each app going into depth on teaching the most important iOS app development skills. Here is an overview of the apps we'll be making:
Apps that...Once each of these apps are built, I'll teach you everything you need to know to submit these apps to the App Store. We'll also cover how to make money in iOS, and how you can continue to stay in the loop as an iOS developer and keep up with the latest and greatest. These topics could be a whole class in and of itself!
What makes me the right teacher?