Course Code: swift_4
Duration: 35 hours
Prerequisites:

You must have at least one programming language experience in the past.

Overview:

This 5 day course is for developers who want to learn how to develop applications for iPhone and iPad running iOS 11. Xcode 9, Swift 4 and iOS 11 introduced significant changes in the way applications are written.

The course is hands on and shows how to develop applications from scratch using the Swift programming language and the Xcode 9 IDE.

During the course a fully functional application will be developed from scratch using Swift.

This course can only be run on Apple hardware such as a MacBook Pro or a Mac Mini.

Delegates need to have registered with Apple and have an Apple ID which is required to download software - Xcode.

Delegates wishing to run the applications developed during the course on an iPhone or iPad using a USB cable will need to register their device with Xcode.

Delegate must be able to understand all basics of Swift after this and course and should be able to make any kind of application in iOS and dig into more complex applications on iOS

Course Outline:

Basic Concepts of Programming

  • OOPS concepts
  • What is a software
  • Organized v/s un-organized rooms concept in programming
  • Why Software

Why Apple and iOS 

  • Why iOS
  • History of Apple
  • iOS History
  • Apple’s USP
  • What Apple is famous for
  • UX v/s UI

Development environment

  • Development environment requirements
  • Xcode and the iOS SDK
  • Apple Developer Registration
  • Reasons why Applications get rejected
  • Human Interface Guidelines

Xcode iOS Projects

  • Overview of Xcode
  • Creating an iOS project
  • Running on simulator and real devices

Swift Basics

  • Why Objective C and now why Swift?
  • Wow Factors in Swift 
  • Variables
  • Constants
  • Hello World in Swift
  • Making UILabel with code

Image Animation and image loading

  • UIImageView
  • Basic UIView and UIImageView animations 
  • Playground
  • Lazy loading of images
  • Lazy properties

Swift Classes and Scenes

  • Creating Swift classes
  • Memory management
  • Strong and weak references
  • Constructor types and destructors in Swift
  • Protocols, Hashable and Printable
  • Inheritance
  • Creating Scenes
  • Implementing View Controllers
  • Playground

Life Cycle and Responder Chain

  • View Life Cycle
  • Application Life Cycle
  • Responder Chain - touchBegan, touchMoved, etc methods
  • NSTimer

Adaptive Layout

  • Storyboards vs XiB
  • Multiple Device Support
  • Icon Sizing and Device Orientation
  • Building a User Interface using code
  • Outlets and Actions
  • Protocols - Required and optional
  • Memory management

Notifications and Localization 

  • Push Notification - Silent and Push
  • Localization

Overview of Objective C

  • Properties
  • Categories
  • Functions syntax
  • Property attributes readWrite and readOnly

Social Media Integration in iOS :

  • Facebook Integration 
  • Twitter Integration
  • Mail Integration
  • Integrating a third party app

UI Components in iOS :

  • UITextField
  • UITextView
  • UISegementControl
  • UISlider
  • UiSwtich
  • UIProgessBar
  • UIPageControl
  • UIStepper
  • UIScrollView
  • UIPicker
  • UIActionSheet
  • UIWebView
  • SearchBar

Some other basics components and others in iOS :

  • Groups and folders
  • Closure
  • Tuples
  • URL Session
  • URLRequest
  • UIAlertView
  • UIActivityIndicatorView
  • internal, public, private
  • Guard
  • Optionals

Threading in iOS :

  • GCD
  • NSOperationQueue
  • Main Thread and Background Threads

User Interaction

  • Buttons and handlers
  • Pan gesture recognition
  • Tap gesture recognition
  • Custom Table View
  • Basics of Collection View

Multiple Screen Applications

  • Table Navigation
  • Tabbed Applications
  • Navigation Controllers
  • Presenting a controller and different animations while presenting and pushing controllers

Location Services

  • Position and Altitude
  • Compass Direction

Device Access and Storage

  • File Storage
  • Music Library Access
  • CoreData and Sqlite in iOS
  • Key Chain
  • User Defaults
  • PLists
  • NSSearchDomain
  • Directory concept and security of apps NSSearchDomain

Speech Framework

  • Speech to text
  • Text to Speech

Multipeer Framework

  • Sending data from one device to other 
  • Connecting multiple devices

Networking

  • Network Access
  • Serialising and Deserialising JSON
  • REST Web Services
  • Basics of XML Parsing

Upload App to App Store 

  • ITunes Connect
  • Developer Portal - Provisioning profiles
  • Deployment and distribution
  • Running app on real devices
  • Uploading app to app store

Applications 

  • Dots Game: https://itunes.apple.com/app/the-dots-free/id850315430
  • Notes app : Notes App
  • Contacts App
  • Getting data from server from an open API app and make a table view and populate data and show its details also and show Search bar and search for something and use Core Data to save data offline 
  • Application of your own idea
Sites Published:

United Arab Emirates - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Qatar - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Egypt - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Saudi Arabia - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

South Africa - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Brasil - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Canada - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

中国 - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

香港 - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

澳門 - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

台灣 - iOS (iPhone and iPad Development - Apple) in Swift for iOS 11 and Xcode 9 - Swift 4 Training Course

USA - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Österreich - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Schweiz - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Deutschland - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Czech Republic - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Denmark - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Estonia - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Finland - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Greece - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Magyarország - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Ireland - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Luxembourg - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Latvia - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

España - iOS (desarrollo de iPhone y iPad - Apple) en Swift para iOS 11 y Xcode 9 - Swift 4

Italia - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Lithuania - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Nederland - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Norway - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Portugal - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

România - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Sverige - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Türkiye - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Malta - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Belgique - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

France - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

日本 - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Australia - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Malaysia - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

New Zealand - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Philippines - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Singapore - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Thailand - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Vietnam - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

India - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Argentina - iOS (desarrollo de iPhone y iPad - Apple) en Swift para iOS 11 y Xcode 9 - Swift 4

Chile - iOS (desarrollo de iPhone y iPad - Apple) en Swift para iOS 11 y Xcode 9 - Swift 4

Costa Rica - iOS (desarrollo de iPhone y iPad - Apple) en Swift para iOS 11 y Xcode 9 - Swift 4

Ecuador - iOS (desarrollo de iPhone y iPad - Apple) en Swift para iOS 11 y Xcode 9 - Swift 4

Guatemala - iOS (desarrollo de iPhone y iPad - Apple) en Swift para iOS 11 y Xcode 9 - Swift 4

Colombia - iOS (desarrollo de iPhone y iPad - Apple) en Swift para iOS 11 y Xcode 9 - Swift 4

México - iOS (desarrollo de iPhone y iPad - Apple) en Swift para iOS 11 y Xcode 9 - Swift 4

Panama - iOS (desarrollo de iPhone y iPad - Apple) en Swift para iOS 11 y Xcode 9 - Swift 4

Peru - iOS (desarrollo de iPhone y iPad - Apple) en Swift para iOS 11 y Xcode 9 - Swift 4

Uruguay - iOS (desarrollo de iPhone y iPad - Apple) en Swift para iOS 11 y Xcode 9 - Swift 4

Venezuela - iOS (desarrollo de iPhone y iPad - Apple) en Swift para iOS 11 y Xcode 9 - Swift 4

Polska - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

United Kingdom - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

South Korea - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Pakistan - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Sri Lanka - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Bulgaria - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Bolivia - iOS (desarrollo de iPhone y iPad - Apple) en Swift para iOS 11 y Xcode 9 - Swift 4

Indonesia - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Kazakhstan - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Moldova - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Morocco - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Tunisia - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Kuwait - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Oman - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Slovakia - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Kenya - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Nigeria - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Botswana - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Slovenia - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Croatia - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Serbia - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Bhutan - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Nepal - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course

Uzbekistan - iOS (iPhone and iPad Development - Apple) in Swift for iOS 12 and Xcode 10 - Swift 4.1 Training Course