Duration 5 days – 35 hrs
Overview
The iOS Application Development Using Swift training is a comprehensive 5-day program designed to equip participants with the knowledge and skills needed to develop robust and efficient iOS applications. This hands-on course covers Swift programming language essentials, iOS app architecture, user interface design, data management, and integration of essential iOS features.
Objectives
- Master Swift Programming: Gain proficiency in Swift, Apple’s powerful and modern programming language for iOS development.
- Understand iOS Fundamentals: Comprehend the basics of iOS app development, utilizing Xcode and Interface Builder for project creation.
- Design User Interfaces: Apply design principles and leverage Interface Builder and Auto Layout to create visually appealing and responsive user interfaces.
- Implement Data Management: Learn data persistence using Core Data and explore methods for efficient data management in iOS applications.
- Integrate Networking Functionality: Understand the fundamentals of networking in iOS, including RESTful API integration using URLSession.
- Explore Advanced iOS Features: Dive into advanced iOS features such as Core Location, MapKit, and Core Animation to enhance app functionality.
- Debug and Profile Applications: Acquire skills in debugging and profiling iOS applications to ensure optimal performance and reliability.
- Navigate App Deployment: Understand the process of app deployment, including adherence to App Store guidelines and submission procedures.
Audience
- Aspiring iOS Developers: Individuals who are new to iOS development and want to build a strong foundation in Swift programming for app development.
- Web Developers Transitioning to iOS: Web developers seeking to expand their skill set and transition into mobile app development, particularly for the iOS platform.
- Software Engineers and Programmers: Software engineers and programmers looking to specialize in iOS development and enhance their proficiency in Swift.
- Computer Science Students and Graduates: Students or recent graduates in computer science or related fields aiming to pursue a career in iOS development.
- Mobile App Enthusiasts: Tech enthusiasts interested in mobile app development, particularly on the iOS platform, and eager to learn Swift.
- Project Managers and Team Leads: Project managers or team leads overseeing iOS development projects who want to understand the development process and technical aspects.
- Entrepreneurs and Start-up Founders: Business owners or entrepreneurs planning to launch iOS applications and seeking foundational knowledge to communicate effectively with development teams.
- Cross-Platform Developers Exploring iOS: Developers with experience in cross-platform development (e.g., React Native, Xamarin) interested in expanding their skills to native iOS development.
- Individuals with Basic Programming Knowledge: Those with a foundational understanding of programming concepts, preferably in a C-based language, and an interest in iOS development.
Pre- requisites
- Basic Programming Knowledge: Participants should have a foundational understanding of programming concepts, preferably in a C-based language.
- Familiarity with Software Development: Some familiarity with software development principles will be beneficial for grasping iOS app development concepts.
- Web Development Skills (Optional): While not mandatory, familiarity with web development technologies (HTML, CSS, JavaScript) may aid in understanding certain concepts.
- Motivation to Learn: An enthusiastic and motivated mindset to delve into iOS app development using the Swift programming language.
Course Content
Swift
- Introduction to Swift
- Introduction to Playground
- Variables and Constants
- Optional & Forced Unwrapping
- Class and Objects
- Playing with Methods
Introduction to iOS Application Development
- Introduction of iOS
- What’s different about coding for iOS?
iOS Stack and Setting development Environment
- A top-down tour of the layers
- About UIKIT, Cocoa Touch
- Setting up your project in XCODE
Getting Familiar with XCODE (IDE)
- The XCODE workspace window
- The Toolbar
- The Navigator View
- Project Navigator
- Symbol Navigator
- Search Navigator
- Debug Navigator
- Break- Point Navigator
- Log Navigator
- The Jump Bar
- The Utility Pane
- Closer look to Project
MVC and User Interfaces
- View Controller
- Outlets and Actions
- Button and Action Methods
- Image View and Text Fields
- Closing Keypad
- Slider and Label
- Tags,
- Checkbox and Radio
- Alert Controller
- Switches and Segment Controls
- Web View
- More UI Components
Auto rotation, Auto sizing
- Mechanics of Autorotation
- Points, Pixels and Retina display
- Autorotation Approaches
- View Orientation
- Auto sizing with different apple devices
Multi view Application
- Architecture of Multi View Application
- Root controller
- Navigation Controller
- Tab Bar Controller
- Segues
Working with Pickers
- Date Picker
- Single Component picker
- Multi Component picker
- Custom picker with images
- Delegates and Data sources
Table view with Navigation Controllers
- Working with Table View
- Working with Table View Controller
- Grouped and Indexed Section
- Header and Footer
- Custom Table View
- Connecting View controller with Table View Controller
Basic Data Persistence
- Store data in file
- Core Data
- SQLite Databases
- Accessing remote database (Web Services)
Grand Central Dispatch
- Overview of Grand Central Dispatch
- Slow worker
- GCD: Playing with queues
- Background processing
Gestures
- Taps Gesture
- Pinch Gesture
- Rotation Gesture
- Swipe Gesture
- Pan Gesture
- Screen Edges Pan Gesture
- Long Press Gesture
Working with Maps
- iOS Core Location Framework
- iOS Map Kit Framework
- The Location Manager
- Getting Location Updates
- Visualizing your movement on a map
- Annotation
- Latitude & Longitude
Camera, Photo Library, Collection
- Image Picker Controllers
- Camera and Library
- UI Collection
Multimedia
- Playing video using URL
- Playing video using resource
- Working with Audio
Localization
- Localization Architecture
- Localize application
Deploy your application
- Overview on deployment of application
- Generating Certificate Request
- Provision Profile
- App ID Creation
- Deploy Application


