O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Real-World iOS projects

Video Description

Build a custom web browser, a local Notepad app, and an iTunes movies browser using Swift 4 and the native iOS Cocoa Touch development platform

About This Video

  • Develop modern, stylish, and consumer-focused iOS applications from scratch, in real time.
  • Use Apple Xcode, create projects, write code, and design user interfaces using Interface Builder
  • Focus on the key components and patterns of native iOS development, giving you an excellent foundation to build upon

In Detail

Do you have some programming experience from a school course? Have you dabbled in your free time, but are using outdated technology in your current career? Are you overwhelmed by the complexity of the iOS ecosystem?

Well, fear not! With this course, we'll get you started right away. You'll be taken through the development of three native iOS applications, using the core UIKit application framework and the latest version of Apple's new and exciting Swift programming language. We'll start by showing you how to get Xcode and guide you through its help documentation and debugger. Then you will build your first app from scratch - a custom web browser with your own custom controls, page history, and sharing functionality.

Once the web browser is ready, you'll head straight into your second project, which is a note-taking app, which will permit full text editing and will store its data as JSON on your local device's file system. Your final project will be a rich, smooth, and colorful media-heavy app that navigates movies in the iTunes store, smoothly browses through posters, and explores their details.

By the end of the course, after focusing on getting real results, you'll be equipped with the skills to get started turning your development career dream into a reality!

The code bundle for this video course is available at: https://github.com/PacktPublishing/Real-World-iOS-Projects.

Table of Contents

  1. Chapter 1 : Getting Up and Running with Xcode 9
    1. The Course Overview 00:04:32
    2. Getting Xcode 00:01:43
    3. A Quick Tour of Xcode 00:02:02
    4. Running the Template App 00:01:47
    5. The Xcode Debugger and Breakpoints 00:03:42
    6. Accessing Documentation in Xcode 00:05:00
  2. Chapter 2 : Building WebBrowse
    1. Creating the Project 00:02:08
    2. Creating the Basic User Interface 00:06:15
    3. Creating the Web View Controller User Interface 00:03:38
    4. Introduction to Swift Optionals 00:04:32
    5. Coding the Web View Controller 00:09:55
    6. Configuring Application Transport Security (ATS) 00:02:59
    7. Adding a Toolbar 00:08:41
    8. Adding a Search Controller 00:02:38
    9. Adding a URL Property with Custom Accessors 00:04:56
    10. Protocols and the Delegate Pattern 00:01:46
    11. Wiring Up the Search Bar 00:07:40
    12. Adding Share Functionality 00:07:12
    13. Saving the Last URL to User Defaults 00:06:26
    14. Improving the Search Bar and Controller Configurations 00:06:47
    15. Improving the Toolbar Layout 00:03:50
    16. Enabling and Disabling the Back and Forward Buttons 00:04:16
    17. Adding a Simple Loading Indicator 00:02:12
  3. Chapter 3 : Building Noted
    1. Intro and Creating the Project 00:04:41
    2. Creating the Note Model Interface 00:02:40
    3. Implementing the Note Model 00:05:56
    4. Auto-Generating the Note Title 00:03:00
    5. Creating the Data Source Interface 00:02:57
    6. Implementing the Outline Data Source 00:04:03
    7. Swift Error Handling 00:01:16
    8. Preparing for Loading and Saving 00:04:24
    9. Adding Loading and Saving 00:07:34
    10. The NotificationCenter Pattern 00:01:50
    11. Using Notifications to Save the Data Source 00:04:05
    12. Introduction to Dispatch and Closures 00:02:19
    13. Adding Dispatch to Load and Save 00:07:29
    14. Configuring the SplitViewController 00:06:55
    15. Preparing the MasterViewController 00:04:18
    16. UITableViewDataSource 00:07:11
    17. Adding TableView Editing 00:04:05
    18. The DetailViewController User Interface 00:03:17
    19. Preparing the DetailViewController 00:03:02
    20. Passing the Note Model 00:07:42
    21. Configuring the DetailViewController 00:04:45
    22. Handling the Software Keyboard 00:05:53
    23. Using the TextViewDelegate and Creating a NoteUpdateDelegate Protocol 00:03:08
    24. Passing Back Note Changes to the MasterViewController 00:08:09
    25. Updating the DetailViewController after Note Delete 00:05:47
  4. Chapter 4 : Building iTunes Movies
    1. Getting Started 00:01:17
    2. Preparing an Xcode Playground 00:05:16
    3. Decoding Simple JSON Properties 00:08:04
    4. Custom Property Name Mapping 00:04:31
    5. Decoding Nested Objects 00:02:36
    6. Date Decoding 00:04:24
    7. Creating the Outline Data Source 00:07:10
    8. Preparing to Fetch the Movie Feed 00:05:34
    9. Switch Tuple Pattern Matching 00:03:45
    10. Processing the Movie Feed Results 00:05:22
    11. Laying Out the Basic User Interface 00:04:19
    12. Creating an Image Cache Controller 00:07:47
    13. Creating a Custom Collection View Cell 00:07:12
    14. Collection View Data Source 00:04:02
    15. Customizing the Collection View Layout 00:05:40
    16. Handling Cell Reuse 00:03:56
    17. Passing Data to the DetailViewController 00:00:55
    18. Laying Out the DetailViewController 00:08:11
    19. Displaying Movie Properties in the DetailViewController 00:09:44
    20. Adding Pull-to-Refresh 00:04:17
    21. Adding a Loading Indicator 00:06:40