In order to update an existing Git submodule execute: (You migh need permissions from Owner)
git submodule update --init --recursive
git pull --recurse-submodules- This repository is a comprehensive collection of iOS development knowledge and materials created by c4arl0s during their studies at the iOS Development Laboratory, UNAM (Universidad Nacional Autónoma de México), CU campus in 2018.
- The project serves as a complete learning resource that consolidates Apple's official educational materials into new, comprehensive, and editable documentation for iOS development.
- 📚 Complete Course Material: Contains 12 comprehensive modules covering all aspects of iOS development
- 🎓 Academic Foundation: Based on official Apple materials from UNAM's iOS Development Laboratory
- 📖 Enhanced Documentation: Transforms read-only Apple materials into editable, comprehensive documentation
- 🔧 Practical Projects: Includes guided projects and hands-on exercises for each module
- ⚡ Modern Swift: Updated to include modern Swift 5.5+ concepts like async and await
- The repository is organized into numbered modules, each containing:
- Presentation materials and documentation
- Guided projects with practical exercises
- Code examples and playgrounds
- Comprehensive summaries for each topic
- This repository represents a valuable educational resource that bridges the gap between Apple's official materials and practical, editable learning content for the iOS development community.
- 1. Getting Started With App Development
- 2. Introduction to UIKit
- 3. Navigation And Workflows
- 4. Building AR Apps with Xcode
- 5. Tables and Persistence
- 6. Working with the Web
- 7. Prototyping and Project Planning
- 8. Working with the Web (async and await concepts)
- 9. Advanced Data Display
- 10. Core Graphics
- 11. iOS Development Notes / Diploma Course
- 12. Collections of playgrounds
- Introduction to Swift and Playgrounds
- Constants, Variables and Data Types
- Operators
- Control Flow
- Xcode
- Building, Running and Debugging an App
- Documentation
- Interface Builder Basics
- Guided Project - Light
- Summary
- Strings
- Functions
- Structures
- Classes, Inheritance
- Collections
- Loops
- Introduction to UIKit
- Displaying Data
- Control In Action
- AutoLayout and Stack Views
- Guided Project : Apple Pie
- Summary
- Optionals
- Type Casting and Inspection
- Guard
- Constant and Variable Scope
- Enumerations
- Segues and Navigation Controllers
- Tab Bar Controllers
- View Controller Life Cycle
- Building Simple WorkFlows
- Guided Project: Personality Quiz
- Summary
- The Augmented Reality Template
- Introduction to SceneKit
- Finding Flat Suurfaces
- Interacting with Augmented Reality (it was stopped by suitable iPhone)
- Image Recognition in ARKit
- Guided Project: AR Drawing
- Protocols
- App Anatomy and Life Cycle
- Model View Controller
- Scroll Views
- Table Views
- Intermediate Table Views
- Saving Data
- System View Controllers
- Building Complex Input Screens
- Guided Project: List
- Summary
- Closures
- Extensions
- Practical Animations
- Working with the Web: HTTP and URL Session
- Working with the Web: Decoding JSON
- Working with the web: Concurrency
- Guided Project : Restaurant
- Summary
8. Working with the Web Rewrite code using async and await concepts
These projects were cloned in order to rewrite code using modern concepts.
async and await concepts were introduced on Swift 5.5
- Working with the Web: HTTP and URL Session [Using asyn and await]
- Working with the Web: Decoding JSON [Using asyn and await]
- Working with the web: Concurrency [Using asyn and await]
- Guided Project : Restaurant [Using asyn and await]
- Summary
- Collection Views
- Swift Generics
- Dynamic Data
- Compositional Layout
- Advanced Compositional Layouts
- Local Notifications
- Guided Project: Habits
- Summary