Duration
5 days
Who Should Attend
This workshop is intended for Programmers and Designers with programming abilities who are interested in developing applications for iPhone and iPad supporting popular iOS applications.
Exam Format
The ICAD Certification Exam duration is 2 hours, consisting of 50 Multiple Choice Questions, with a Passing Score of 70%. You will receive a professional ICAD Certification upon passing the exam.
Course Overview
This 5-day course will guide students through the entire process of developing an iPhone application from designing to developing, testing and releasing iPhone and iPad applications. The goal is to get you past the initial learning curve to help you to understand the way iPhone and iPad applications work and how they are built.
NOTE: Mac machines are provided for participants when trainings are conducted at iTrain. If participants want to use their own Mac, they need to install the latest iOS SDK and xCode in their computers prior to the training.
Learning Outcomes
Upon completion of this course, you will be able to:
- Explore the basic of iOS device capabilities and limitations.
- Illustrate the iOS development Process.
- Leverage some of the networking and multi-threading capabilities that exist in iOS.
- Utilize the Swift programming language including properties, conditionals, instance variables, classes, strings, arrays, loops, methods and enums.
- Employ basic Debugging and trouble shooting.
- Explore and use UI Elements and Auto Layout.
- Experience working in teams on iOS related projects.
- Explain the process of creating a universal app that will run on both iPhone and iPad devices.
- Detail the process required to publish and submit an iOS application.
- Design, develop, create and present a signification final iOS business application project.
Day 1: Fundamentals
Getting started with xCode
- Introduction & getting started
- Register to the Apple Developer Program
- Getting other iOS Simulator
- Interface
- ToolBar
- Navigation Area
- Editor Area
- Utility Area
- Testing application in your device
Swift 3 Language
Introduction
- Files
- Coding practice
- Basic Variables & Swift Data Type
- Operation
- Optional and Optional Binding
- Class Declaration
- OPP in Swift
- Methods calling
- Basic Design Pattern
- MVC Diagram
- Target-Action
- Protocol & Delegate
- Selectors
- Protocol
Overview of iOS 10 & iOS 11
- iOS Architecture
- iOS10 SDK Features
- iOS11 SDK Features
- Using NSFoundation and UIKit
- App Designing Process
- Latest UI/UX Design trend
- Introduction to Prototyping tool
- App Design Case study
- Debugging Tools Instruments
Creating a Single View Application
- Understanding different templates in xCode
- Programming UI Elements UIButton, UITextField, UISwitch, UISlider
- Using Assets management in xCode
- Multiple Screen Development with Size Class and Autolayout
Day 2: Creating Interfaces
Creating an application Interface
Mobile app Development Lifecycle
- Understanding Different App Development Lifecycle
- Product Roadmap and versioning
- UI/UX Trend
- Design Principle in Mobile application
- Application Prototyping
Create View
- UINavigationBar Controller
- Nested navigation Controller
- UITabBarController
- Multi Views
Storyboard & Segue
Introduction
- Views
- Dynamic & Static Table
- Collection View
- Creating Custom Cells
Multi Views
- Segue Elements
- Passing Data diagram
- Passing Data
- Sample passing data code
Debugging Application
- Using breakpoint
- Understanding common mistake by developer
- Using print function
Day 3: Creating Data
PList (Local) Property List
Introduction
- Retrieving data
- Plist to Table App using NSUserDefault
- App settings
- NSUserDefaults
- + Introduction
- + Store Data code
- + Retrieve data code
JSON (Remote)
Introduction
- Frameworks
- Step-by-Step
Core Data (Local)
Introduction
- Core Data vs SQLite
- Step-by-Step
Remote Data
Introduction
- NSAppTransport Security
- Integrate with Remote API and Web service
- Parsing JSON Data
Day 4: Devices Features
Core Location
Overview
- Accuracy
- Basic Setup
- Reverse Geocoding
Map using MapKit Framework
Overview
- Placing point
- Annotation Details
- Step-by-Step
Creating Camera Functionality
Overview
- Code
- Check Camera Availability
- Getting Image from Photo Library
- Check support video
Gestures Adding
Overview
- UI Tap Gesture Recognizer
- Motion gestures
Social Framework
- Adding Facebook to your App
- Adding Twitter to your App
Mini Project
Delivery includes:
- User flow documentation
- Analyzing Technical requirement
- Mobile application (End product)
Day 5: Multimedia, Localization and Beyond the Basic
UIWeb View
- Display live dynamic web pages
Making Multimedia Audio & Video
- Movie Formats
- Audio Formats
- Frameworks
Overview
App Localization Internationalize Your App
- Why Localization?
- What can be localized?
- NSLocalizedstring
- App name how?
- Changing Language
- Common Potfalls
Coding Best Practices:
- Test driven development: Unit testing and automation testing
- Working in team: Code style
- Code documentation using HeaderDoc
- Best practice of implementing Security in application
Beyond The Basics
- Dependency Management with Cocopods
- Using third party library
- Understanding BaaS
App Submission Process
- Checklist
- App Review Guidelines
- Human Interface Guidelines
- Considerations before uploading
- Managing Alpha and Beta Testing with Testflight
- App submission
- Acquisition strategy: Introduction to App Store Optimization
- Flow
Programme scope, delivery arrangements and suitability are confirmed during enquiry.