training

 

iOS App Development using Swift 4 – 5 Days

Course Description

This intensive 5-day course is designed to train both novice and experienced developers how to create native iOS 11 Apps for the iPhone, iPad and iPod using the Swift programming language.

Created by experienced iOS developers, the course places a very strong emphasis on hands-on learning through a multitude of exercises and demonstrations. Students will be guided through a wide variety of in-class Labs specifically designed to offer practical solutions to common problems that address real-world production needs. Topics covered include: Multi-View Apps, Design-Patterns, Data-Persistence, Core Data, Web-Services, JSON and XML parsing, Maps and Location Services, working with Images and Animations, and handling Gestures.

An in-depth look at the Xcode 9 IDE and its many features and tools will also be included.

Objectives

  • Learn to use Xcode 9’s Interface Builder to design and build iOS App Interfaces.
  • Utilize iOS Controls such as Buttons, Switches, Sliders, and Pickers.
  • Build multi-screen Apps using Navigation Controllers, Master-Detail (drill-down) templates, and the Tab-Bar Template.
  • Data Persistence – saving data on iOS devices using Property List, Sqlite3 Databases, and Core Data
  • Make calls to Web-Services from an iOS App
  • Parse incoming JSON and XML data streams
  • Work with Maps and Location Services to make location-aware Apps
  • Gesture recognition, enabling Swipes, Taps, Pinches, and Pans
  • Use of Auto-Layout and Size Classes to properly configure Apps to support various screen sizes, device orientations (Portrait and Landscape) and devices: iPhone SE’s, 6’s, and 7’s, 8’s, iPads, iPad Minis, etc.

Prerequisites

  • Basic knowledge of programming in Swift is recommended to get the most out of this class. (Note: a separate 3-day Programming in Swift class is also available.)
  • Object Oriented Programming experience is recommended
  • Basic familiarity with Mac computers and working in Mac OS X is recommended

Lab Setup and Recommended Tools

Outline

      1. Your First App – “Prepare for Takeoff”
        1. Creating a new Project in Xcode
        2. Designing an App interface using Interface Builder
        3. Working with the Objects Library and the Attributes Inspector
        4. Designing an App interface using Interface Builder
        5. Running and previewing the App using the iOS Simulator
      1. Adding Interactivity
        1. Creating IBActions and IBOutlets
        2. Activating Controls: enabling Buttons, Switches and Sliders
        3. Using the Size Inspector
        4. Creating an Alert with action Buttons from code
        5. Working with Conditionals for basic Control-Flow
      1. Enabling User Input
        1. Working with Textfields to read in user inputted data
        2. The iOS Keyboard and special alternate keyboard layouts
        3. Alternate methods for dismissing the Keyboard
        4. Using the Connections Inspector
        5. More Control-Flow
      1. Working with Image Assets & App Icons
        1. Creating a Custom Icon for your App
        2. Creating a Custom Splash Image for your App
        3. Managing Image Assets: Regular & Retina
        4. Inspector
      1. Writing Classes in Swift
        1. Declaring a Swift class in a separate file
        2. Declaring Stored and Computed Properties
        3. Creating Instance Methods
        4. Control Flow with the Switch Statement
      1. Using the PickerView
        1. Single Component Pickers
        2. Multi-Component Pickers
        3. Working with the Date Picker and the NSDate class
      1. Using Storyboards & Creating Multiview Applications
        1. Using Navigation Controllers
        2. Working with Segues
        3. Passing Data between View Controllers
        4. Creating Bar-Tab Application
      1. Using TableViews
        1. Creating regular and Multi-Sectioned TableViews
        2. Drill-Down menus
        3. Master-Detail scheme
        4. Creating custom TableView Cells
      1. Using Collection Views
        1. Modifying Grid Layouts
        2. Creating Custom CollectionView Cells
        3. Enabling Cell-Tap Navigation to Detail Screens
      1. Creating Views from Code
        1. Initializing Objects with Code
        2. Views, subviews, the Superview
        3. The Subviews auto-array and View Index
        4. Wiring up Views to IBActions using code
      1. Detecting and Handling Gestures
        1. Swipe Gesture
        2. Tap Gesture
        3. Pinch Gesture
        4. Pan Gesture
        5. Rotation Gesture
        6. Implementing Affine Transformations
      1. Data Persistence
        1. Working with NSFileManager and the iOS File Directory
        2. Saving Property Lists
        3. Using Databases with the sqlite Library
        4. Working with Core Data
      1. Maps, Core Location and Location Services
        1. Displaying User Location on Map
        2. Creating Annotations & Pins
        3. Switching Map Types
        4. The MKMapViewDelegate Protocol
      1. Web Services
        1. Creating an NSURL Session
        2. Making requests and queries to specific URL’s
        3. Reading returned XML & JSON data
        4. Parsing incoming XML with NSXMLParser
        5. E. Parsing incoming JSON Data
      1. Integrating your App with Social Media
        1. Posting to Facebook and Twitter from within your App
        2. Attaching Photos and URL’s to a Post
      1. Universal Apps – Auto-Layouts, Handling Device Rotations, and Size Classes
        1. Working with Auto-Layouts
        2. Implementing Size Classes
        3. Handling Aspect Ratio Constraints
      1. Application Life Cycle & View States/Life Cycle
        1. Understanding Application States
        2. Working with a ViewController’s Life-Cycle
        3. Creating Local Notifications
      1. Unit Testing
        1. Using the XCTest Framework
        2. Creating unique tests for specific funtionalities
        3. Making Test Assertions
        4. Creating performance-measurement tests
    1. Submitting to the App Store
      1. The iOS Developer’s Center
      2. Creating App Certificates, Identifiers and Profiles
      3. Archiving the Project
      4. Ad-Hoc and App-Store Distribution

    Note: Clients are welcome to request customization of this course to meet any specific needs they may have. Additional lessons can be created and substituted for existing ones to create a custom class.

    Other Available Topics include:

    • Multi-Threading and Background Processing
    • Animations
    • Creating an App-Settings Bundle and saving user Preferences
    • App Architecture Strategies: passing data using a Singleton class and app-wide message broadcasting
    • Working with Audio
    • Accessing the iOS Camera and Photo Library
Print Friendly, PDF & Email