iOS Application Development from scratch

Eager to Learn to develop iOS apps, your in the right Place. Here you can learn how to build native applications for the iPhone and iPad using the latest iOS  SDK quickly. In order to develop native iOS app you need to have few things to get started, essentially MAC (any).  Later you can learn how to work with Xcode, the most popular framework for developing, debugging, and deploying applications to Apple devices, and Objective-C/ Swift, the language you’ll use to actually program your app.

Apart from the tools and language, you’ll explore design patterns, coding conventions and guidelines, and essential concepts like Model-View-Controller, storyboards, and delegation. Plus, learn what’s possible within the new iOS interface, and get a checklist for successfully submitting your app to the App Store.

 

  • Getting ready for development
  • Coding your first App.
  • Getting Familiar with Development tools ( Xcode and the iOS Simulator)
  • Learning Objective-C basics and structure
  • Using MVC in iOS
  • Creating objects, variables, properties, and custom classes.
  • Connecting UI elements to code for basic interaction.
  • Learn with simple app.
  • Using delegation
  • Using the Xcode debugger
  • Creating and customizing table views
  • Exploring storyboards
  • Saving and loading data
  • Understanding the differences in iPad development
  • Creating iPad apps with popovers and split views
  • Adding application icons and launch images
  • iOS Developer Program & code signing.
  • Creating a user interface with Interface Builder and Auto Layout
  • Working with sliders and progress bars
  • Creating views to show images and web pages
  • Developing responsive layouts with size classes
  • Working with sliders and progress bars
  • Creating views to show images and web pages
  • Developing responsive layouts with size classes
  • Transitioning between views
  • Submitting apps to the App Store

 

Introduction to iOS Development & iOS Basics

  • What is iOS ?
  • Short History of iOS ?
  • iOS Architecture ?
  • Frameworks
  • MVC Design Pattern
  • Application Life Cycle
  • Features in latest iOS
  • Difference between iOS and Android
  • Requirements for iOS Development.

 

Xcode

  • Setup Environment
  • Introduction to Xcode
  • Navigator
  • Editor
  • Utility
  • Tools
  • Console
  • Document
  • Simulator
  • Instruments
  • Window, View Controller & Views
  • Interface Builder
  • Compiler

 

Introduction to Objective-C

  • Intro to Objective-C
  • Basic Objective-C Syntax – Numbers, Variables, Strings
  • If / Else Statements, Ternary Operator, Equality
  • Loops, Arrays, Dictionaries, Simple data types vs. Objects
  • Creating and building simple applications
  • Creating Objective C classes and Methods
  • OOPS in Objective C
  • Inheritance ,interfaces

 

Objective-C for User interactions

  • Handling Basic Interaction
  • Creating basic view controllers
  • Monitoring events and actions
  • Creating advanced view controllers
  • Memory Management
  • Programmatic Interface creation
  • Integrating with core services – Email, Contacts, Camera, Map kit etc
  • Data: actions, preferences, files, and addresses
  • Debugging, testing the application
  • Advanced controllers – Navigation controller
  • Advanced Even Handling – Multi touch, Gesture Recognition
  • UIState Preservation
  • View application sandbox and Crash Logs of Application

 

Cocoa Design patterns

  • What is MVC ?
  • Model ,View and Controller Classes
  • Delegate and Datasource
  • Singleton Pattern
  • Observer pattern
  • Target-Action
  • Cocoa coding standards

 

Memory Management

  • Introduction (alloc init,retain Release )
  • Auto release pool

 

Objective -C ARC

  • What is ARC?
  • Migrating your application to ARC

 

UIControls

  • Basic Interaction with UIControls
  • Button,label,Textfields
  • switch,slider,progress bar
  • Alerts ∧ Action sheet
  • Tableviews
  • Scrollview, Web view,maps
  • SearchBar,popovers
  • Picker,Date picker,Imageview, Image picker controller
  • Gestures , Mouse events
  • Mail,Message,Phone call

 

Working with TableView

  • UITableViewController
  • Working with multiple TableViews
  • UITableViewCell
  • TableView practices
  • CustomCell creation.

 

Multi View Applications

  • View to view (Present model view controller )
  • Navigation controller
  • Tabbar controller
  • Pageview controller
  • Split view controller

 

CoreGraphics and QuartzCore

  • UIKit and view life Cycle
  • Draw lines and transforms.
  • SplashView and Basic animation
  • Adding Views with animation

 

Orientation and iPhone sensors

  • The iPhone Accelerometer
  • Detecting shakes
  • Determining orientation
  • Responding to the accelerometer

 

Maps SDK
Introduction to MapKit Framework

  • Showing a simple Map
  • Update User Location
  • Background location updates of user .

 

REST and SOAP services , XML and JSON Parsing

  • Asynchronous and synchronous request
  • Soap service
  • Rest service
  • Xml and JSON Parsing
  • KeyValue coding and Nested JSON objects
  • Error handling
  • Lazy loading

 

Multi-Tasking in iOS

  • NSThread and management of multiple threads
  • Synchronous and Asynchronous
  • Introduction to NSTimers
  • GCD in iOS
  • NSOperation and NSOperationQueue
  • Data Base Persistence

 

User Defaults

  • Plist
  • sqlite
  • Core Data

 

Media interaction

  • Playing audio video in iOS (AVAudio player, MediaPlayer, MPMovie player)

 

Notifications

  • Local notifications
  • App level Notifications
  • Push Notifications

 

Social Network Integration

  • Facebook
  • Twitter
  • Google +

 

Testing And Deployment

  • Debugging application in device.
  • Debugging application in Simulator.
  • TestFlight

 

App store submission & Code signing with Provisioning Profile

  • Apple Developer Account
  • Account Types
  • Keychain Access
  • SSL Certificate
  • Certificates
  • Profiles
  • Identifier
  • Devices
  • Code Signing
  • Xcode Organizer
  • Testing on Device
  • ItunesConnect
  • Deployment in App store

 

Resources & References