The Complete iOS 8 Course with Swift
Over 350+ videos taking you step-by-step through process of building 14 different applications in iOS 8 and XCode 6 using the new Swift programming language.
 Enroll in Course for $499

Our iOS Bootcamp teaches the tools needed to develop iPhone and iPad applications for iOS 8. Along our journey, we will learn the syntax of Swift, the language used to develop for iOS, as well as important design patterns and best practices. By the end of the course, you should be able to understand and recreate many of the features seen on popular iOS applications and extend that knowledge to making apps of your own.

We believe students learn by building. That's why we have you build 14 apps during the course, with the final app being a full featured dating app with multiple users, direct chat, and complete profiles.

Topics Covered:

  • Swift: Learn the language used to develop all native iOS and Mac apps
  • iOS 8 and XCode 6: Learn the latest technology platforms from Apple
  • API Integration: Connect with third party APIs like Facebook and more with NSURLSession
  • Storyboard: Learn how to create beautiful interfaces using Apple’s graphical interface builder
  • Designing responsive interfaces for the myriad of iOS device screen sizes
  • Core Data: Store data on your device with the core data database
  • Git: Learn how to use Git for version control and collaboration
  • CloudKit: A revolutionary new tool from Apple that allows iOS developers to create database in the cloud right from the iOS client app
  • Intro to the Metal Framework. Harness the full power of the A7 chip in your iPhone 5s
  • HealthKit
  • In-app analytics
  • And so much more

Reviews

"I must say that so far, this course is awesome. Having the challenging assignments, daily discussions and feedback from the instructors, has been the missing piece that I have been looking for. I have read a handful of books, watched hours of video & typed in a bunch of tutorials, and finally, having to work through tough assignments and applying what I have been learning, it is all starting to click - Finally!" - Mark S.

"This course is by far the most elaborate and best taught iOS course I have seen online yet. It's good structured and covers a lot of topics in-depth." - Christoph Zamaitat

“Bitfountain's discussion board is one of the best resources for a beginning iOS developer. So much help being offered” - Omar S.

"Great course for total beginners, but also a lot of tricks and tips for those with experience. Also good seeing how others code and tackle problems. A great learning tool what ever your skill level." - Mazza1111

“I've just completed the iOS course, which I thought was a great intro to the XCode environment... I feel it's been well worth the investment. ” - Herdy H.

"I am about a quarter of the way through this course and have no previous programming experience. I have found this course to be well presented and structured with everything explained clearly. This is a difficult topic and you have to work hard understanding the concepts if you are new to it, but it is easy to go back over an area to pick up anything you might have missed first time round. The guys are constantly improving it and adding to it and seem committed to getting it 100% right. Recommend it....but be prepared to work hard!!" - Tony McDonald

“Can't reiterate it enough how this course is helping me with my iOS dev skills. I think using protocols and delegation is finally becoming second nature. Fingers crossed :-)” -Alex P.

“I am really loving the class. I have taken classes at Code School & Treehouse and both were missing a key element. The ability to ask questions as you complete a section and get an answer. “ -Lisa A.

“Your training is the best out there so far. I wish I had the time away from regular job to follow along.” -Christian S.

“Im loving this.. I have been through at least 5 books, and many online deals. Yours is super so far. Finally, i can get from start to finish on a lesson without wondering why on "Everything" thank you. Cant wait to do more.. “ -Kevin R.

Why take this course and how much time does it take to complete?

iOS development, and software development as a whole, is a booming career. The demand for new developers at all levels far outweighs the supply. Barrier to entry is not as high as one would think - though passion and hard work are necessary, a degree in computer science or any other technical field is not required.

We aim to take you from complete beginner to junior developer in three months. The apps you create in this course can be used on your portfolio so you have something to show when you apply for jobs.


 Enroll in Course for $499
Your Instructor

Eliot regularly teaches iOS development classes and workshops at General Assembly and guest lectures for companies and development boot camps around NYC. He also taught the inaugural class for Coalition for Queens which focused on increasing diversity in iOS development. He also coaches students in a one-on-one environment with a focus on transitioning to full time development. Eliot cofounded and organizes the iOS Office Hours meetup NYC.

In his free time he works as a contractor for startups focusing on agile development.

Find me on twitter @EliotArntz - I check my direct messages quite frequently.

Course Curriculum
Section 1 - Introduction
  Course Introduction (06:01)
  Course Resources (03:50)
Section 2 - Our First Project!!!
  Downloading Xcode (02:42)
  Opening XCode and Creating our First Project (08:58)
  A Brief Tour of Xcode (10:26)
  Exploring Storyboard (09:14)
  Setting up a New View (06:02)
Section 3 - Navigation
  Adding a NavigationController (05:56)
  Adding a Title and Another Image (05:52)
  Adding TextFields (04:30)
  Adding a Button and a Label (03:13)
Section 4 - IBOutlets and Connections
  Hooking up our View Objects (14:12)
  Debugging Connection Errors (06:53)
  Unhiding our Label (05:26)
Section 5 - Accessing Views in Code
  Changing a Label's Text in Code (05:01)
  Changing a TextField's Text in Code (02:36)
  Moving our Label and Closing the Keyboard (05:39)
  Multi Line Label (02:57)
  Changing a Label's Color in Code (03:22)
  Let's Update our Button (04:27)
Section 6 - Working with GitHub
  Terminal (10:07)
  Creating a Project on Github (02:26)
  Saving our Project to Github (07:43)
  Adding an Additional Commit (03:17)
  Downloading and Opening a Project from Github (02:07)
Section 7 - First Challenge!
  Challenge 1: Practicing with the Storyboard (02:25)
  Challenge 1: Practicing with the Storyboard Solution (05:59)
Section 8 - Second Challenge!!
  Challenge 2: Save your Changes to Github (01:48)
  Challenge 2: Save your Changes to Github Solution (02:50)
Section 9 - Variable Types and Commenting
  What is a Variable? (06:24)
  Type Annotations (04:42)
  Intro to Commenting (05:44)
Section 10 - Operations on Variables
  Operations on Variables Ints (03:09)
  Operations on Variables Floats (05:16)
  Valid Variable Names (03:05)
  Typealias (03:50)
  Numeric Literals (02:46)
Section 11 - Strings
  Strings and Characters (05:29)
  String Interpolation (02:54)
  Optionals Int (05:32)
  String to Double (05:30)
  Shorthand (02:01)
  Constants (03:44)
Section 12 - Shoe Size Converter Project
  Shoe Size Converter (12:24)
  Refactor Shoe Converter (03:23)
  Adding Women's Shoes (07:04)
Section 13 - Age of Laika
  Age of Laika (01:14)
  Age of Laika: Solution Part 1 (06:40)
  Age of Laika: Solution Part 2 (03:08)
Section 14 - Control Flow
  If Statements (07:51)
  Bools (03:35)
  If Statements Continued (05:44)
  Numeric Type Conversion (03:10)
Section 15 - Age of Laika Assignment
  Age of Laika: Control Flow Challenge (02:46)
  Age of Laika: Control Flow Solution (06:51)
Section 16 - For Loops
  For Loops (06:20)
  Limitations of For Loops (03:27)
  99 Sodas Challenge (01:04)
  99 Sodas Challenge Solution (03:14)
Section 17 - Lions and Tigers .. oh my!
  Intro to Object Oriented Programming (03:27)
  What are Structs and Instances? (03:39)
  Create a New Project and Storyboard Setup (10:05)
  Make Your Own Struct (02:51)
  Adding Properties to the Tiger (05:41)
  Instantiating our First Struct (05:24)
  Using the Tiger Instance (03:42)
  Multiple Tigers (05:57)
Section 18 - Arrays
  Introduction to Arrays (02:20)
  Create an Array (04:42)
  Two Cool Properties of Arrays (02:26)
  Indexing into an Array and Iterating Over an Array (04:21)
  Ranges and For in Loops (04:17)
  For in Enumerate Loop (03:53)
  Mutating an Array (10:36)
  Generating a Random Number (04:15)
  Adding Tigers to an Array (06:20)
  Show a Random Tiger (03:13)
  Animating our Tigers (09:09)
  While Loops (04:57)
  Recurring Tiger Bug (07:37)
  Our First Function (04:37)
  Our First Parameter (04:28)
  Multiple Parameters (04:34)
  Return Values (06:23)
  Another Return Value and Other Function Calls (05:46)
  Looking at the Current Functions (03:43)
  The Tiger can Chuff (03:07)
  Chuff a Number of Times and Self (13:09)
  Self Continued (03:23)
  Chuff a Number of Times with Control Flow (05:53)
  Update Tigers Age Function (05:57)
  Adding a Random Fact Function (08:56)
  Switch Statement (04:07)
Section 19 - Challenge: 99 Red Balloons
  99 Red Balloons Struct Challenge (02:19)
  99 Red Balloons Storyboard Setup Solution (05:48)
  99 Red Balloons Struct Solution (02:39)
  99 Red Balloons Create Balloons Function Solution (07:11)
  99 Red Balloons Update UI Solution (04:49)
Section 20 - Classes
  Classes and Structs (03:03)
  Creating a Lion (07:33)
  Create a Lion Array (02:36)
  Introduction to Tuples (03:18)
  Switch Statement with a Tuple (03:04)
  Update Current Animal (05:28)
  Displaying both Lions and Tigers (07:09)
  Lion Roar Function (01:13)
  Accessing Properties in a Function (02:13)
  Lion Random Fact Function (03:17)
Section 21 - Subclass
  Subclass the Lion Class (04:41)
  Override Function in LionCub Class (03:01)
  Super Keyword (02:32)
  Additional Function and a Female Lion Cub (07:36)
  Displaying Lion Cubs (05:35)
Section 22 - Slot Machine Project!!!!!
  SlotMachine: Introduction (03:13)
  SlotMachine: Starting our New App (04:31)
  SlotMachine: Setup ContainerViews (20:27)
  SlotMachine: Finishing Setup ContainerViews (10:15)
  SlotMachine: setupFirstContainer (06:10)
  SlotMachine: setupSecondContainer (11:10)
  SlotMachine: setupThirdContainer (07:12)
  SlotMachine: Some more Labels in the ThirdContainer (06:53)
  SlotMachine: Finish adding Labels to the ThirdContainer (07:09)
  SlotMachine: Start Setup FourthContainer (16:06)
  SlotMachine: Another Button in the fourth Container (07:20)
  SlotMachine: Finishing the fourth Container (07:27)
  SlotMachine: Adding a Slot Struct (02:45)
  SlotMachine: Adding Assets (02:40)
  SlotMachine: Factory Class (14:52)
  SlotMachine: Create Slot (15:40)
  SlotMachine: Implementing Create Slot (01:23)
  SlotMachine: Slots Array (02:05)
  SlotMachine: Showing Slots (03:15)
  SlotMachine: Remove old ImageViews (05:24)
  SlotMachine: hardReset (04:02)
  SlotMachine: updateMainView (01:26)
  SlotMachine: showAlertWithText (05:31)
  SlotMachine: betOneButtonPressed (03:45)
  SlotMachine: betMaxButtonPressed (03:54)
  SlotMachine: Reordering Slots into Rows (07:01)
  SlotMachine: computeWinnings (03:03)
  SlotMachine: Check for Flush (05:59)
  SlotMachine: Check for Three in a Row (04:20)
  SlotMachine: Check for Three of a Kind (03:50)
  SlotMachine: Finishing Touches (04:31)
Section 23 - Lemonade Stand Assignment
  Lemonade Stand Assignment!!!
Section 24 - Lemonade Stand Solution Videos
  Lemonade Stand: Storyboard Solution (11:23)
  Lemonade Stand: Connection's Solution (08:36)
  Lemonade Stand: Supplies Solution (04:22)
  Lemonade Stand: Price Solution (01:03)
  Lemonade Stand: Instantiating Price and Supplies Solution (03:26)
  Lemonade Stand: Instantiating Tracking Values Solution (02:38)
  Lemonade Stand: updateMainView Solution (05:12)
  Lemonade Stand: showAlertWithText Solution (04:53)
  Lemonade Stand: Use updateMainView Solution (01:19)
  Lemonade Stand: startDayButtonPressed Solution (11:00)
  Lemonade Stand: purchase IceCubes and Lemons Solution (05:37)
  Lemonade Stand: unpurchase IceCubes and Lemons Solution (04:47)
  Lemonade Stand: Mix Functions Solution (07:31)
  Lemonade Stand: Clear Mix and Purchases Solution (02:35)
Section 25 - Add Weather
  Lemonade Stand: Weather Properties Solution (02:58)
  Lemonade Stand: Indexing into WeatherArray Solution (02:37)
  Lemonade Stand: Using the Weather Array Solution (04:03)
  Lemonade Stand: Add weatherImageView Solution (02:42)
  Lemonade Stand: Adding Image Assets Solution (01:35)
  Lemonade Stand: Displaying Weather Solution (02:46)
Section 26 - Task It Project!!
  Task It: Setup Options (02:05)
  Task It: Add a TableView (04:30)
  Task It: Add a TableViewCell (03:03)
  Task It: UITableViewDataSource and UITableViewDelegate (08:24)
  Task It: Updating UITableViewDataSource Delegate (02:26)
  Task It: Setting up Prototype Cell (05:16)
  Task It: Updating UITableViewDataSource (08:30)
  Task It: Adding Labels to the TaskCell (05:19)
  Task It: Adding Tasks (11:29)
  Task It: TaskModel (02:18)
  Task It: Implementing the TaskModel (04:21)
  Task It: TaskDetailViewController (07:11)
  Task It: didSelectRowAtIndexPath (03:54)
  Task It: PrepareForSegue (08:05)
  Task It: Updating the DetailTaskViewController (03:09)
  Task It: Date Class (06:48)
  Task It: Updating Dates (02:41)
  Task It: NSDate to String (05:53)
  Task It: Update DatePicker (01:04)
  TaskIt: AddTaskViewController and Storyboard Changes (07:54)
  Task It: Dismiss and Pop ViewControllers (08:58)
  Task It: AddTaskViewController Setup (02:06)
  Task It: Add a Task (05:39)
  Task It: AddTask Segue (03:13)
  Task It: ViewDidAppear (03:09)
  Task It: Passing the ViewController to the TaskDetailViewController (01:19)
  Task It: Pop the TaskDetailViewController (02:00)
  Task It: Update Tasks (04:39)
  Task It: Organize Tasks by Date (08:17)
  Task It: TaskModel Completion (03:08)
  Task It: Creating a BaseArray (03:34)
  Task It: Updates with the Base Array (05:15)
  Task It: Finish Fixing the Errors (04:51)
  Task It: Adding Section Headers (02:02)
  Task It: Completing Tasks (05:42)
  Task It: Uncompleting Tasks (03:16)
Section 27 - TaskIt Coredata
  Task It: Getting Ready for CoreData (01:25)
  Task It: Setting up the CoreData Stack (10:36)
  Task It: Setting up the new TaskModel (05:09)
  Task It: Creating and Accessing a TaskModel (12:00)
  Task It: Setting Up the FetchedResultsController (10:26)
  Task It: Updating the UITableView DataSource Functions (07:38)
  Task It: Updating prepareForSegue and Removing MainVC Properties (02:34)
  Task It: Updating doneBarButtonItemPressed Function (03:47)
  Task It: Adding Completion Sort Descriptor (04:49)
Section 28 - Exchange 'A' Gram
  ExchangeAGram: Introduction
  ExchangeAGram: Setup (05:15)
  ExchangeAGram: Storyboard Updates (04:16)
  ExchangeAGram: UICollectionViewDataSource (04:21)
  ExchangeAGram: FeedCell (05:26)
  ExchangeAGram: CameraController (10:57)
  ExchangeAGram: Photo Library (06:27)
  ExchangeAGram: didFinishPickingImage (04:07)
  ExchangeAGram: Creating a FeedItem (02:14)
  ExchangeAGram: Persisting a FeedItem (07:38)
  ExchangeAGram: NSFetchRequest (06:06)
  ExchangeAGram: Displaying the FeedItem (08:06)
Section 29 - ExchangeAGram Photo Filters
  ExchangeAGram: FilterViewController (02:54)
  ExchangeAGram: didSelectItemAtIndexPath (02:52)
  ExchangeAGram: Presenting the FilterViewController (03:56)
  ExchangeAGram: Begin Creating a UICollectionView (08:33)
  ExchangeAGram: Finishing the UICollectionView (02:34)
  ExchangeAGram: FilterCell (07:26)
  ExchangeAGram: Implementing our FilterCell (04:22)
  ExchangeAGram: PhotoFilters (05:10)
  ExchangeAGram: Properties of CIFilters (06:28)
  ExchangeAGram: Composite Filters (05:32)
  ExchangeAGram: Using the Filters (07:58)
  ExchangeAGram: Implementing our Filters (04:09)
  ExchangeAGram: Intro to GCD (08:25)
  ExchangeAGram: Was that extra work in filteredImageFromImage worth it? (02:09)
FAQs
What are the requirements?
An intel-based Mac that has Mac OS X Snow Leopard or later installed.
What is the target audience?
Complete beginners (no coding experience necessary) and programmers coming from other language/frameworks.
When does the course start and finish?
The course starts as soon as iOS 8 is released and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
What am I going to get from this course?
Over 429 lectures and 36.5 hours of content! Code in the Swiftprogramming language Use and extend the Cocoa framework Build apps for iOS 8 Version your code using git and github Analytics Build a cloud datastore using Parse A large community of teachers and learners to answer your questions And more...
How long do I have access to the course?
How does lifetime access sound?
After purchase, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy!
If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.
If you purchased the course from one of our affiliates then you need to inquire with them about their refund policy.
Join 11050 students and Get Started Now