- 26 Sections
- 439 Lessons
- 30 Weeks
Expand all sectionsCollapse all sections
- Chương 1 - Làm quen với Swift và Xcode19 ItemsMục tiêu: hiểu môi trường iOS development và viết được chương trình Swift đầu tiên.
- 1.1Bài 1.1. Cài đặt công cụ XCode cho máy Mac
- 1.2Bài 1.2. Swift là gì?
- 1.3Bài 1.3. iOS Development là gì?
- 1.4Bài 1.4. SwiftUI là gì?
- 1.5Bài 1.5. Xcode là gì?
- 1.6Bài 1.6. Chương trình Swift đầu tiên
- 1.7Bài 1.7. Tạo project SwiftUI đầu tiên
- 1.8Bài 1.8. Cấu trúc một SwiftUI project
- 1.9Bài 1.9. @main
- 1.10Bài 1.10. App
- 1.11Bài 1.11. Scene
- 1.12Bài 1.12. ContentView
- 1.13Bài 1.13. Preview trong Xcode
- 1.14Bài 1.14. Simulator
- 1.15Bài 1.15. Build và Run
- 1.16Bài 1.16. Debug cơ bản
- 1.17Bài 1.17. Comment và Code Formatting
- 1.18Bài 1.18. Xcode Shortcuts cơ bản
- 1.19Bài 1.19. Hướng dẫn bật chế độ nhà phát triển cho iOS
- Chương 2 - Tìm hiểu ngôn ngữ lập trình Swift13 ItemsXây nền tảng Swift cần thiết trước khi học SwiftUI.
- 2.1Bài 2.1. Variable & Constant
- 2.2Bài 2.2. Các kiểu dữ liệu trong Swift
- 2.3Bài 2.3. String
- 2.4Bài 2.4. Các kiểu sốsố
- 2.5Bài 2.5. Kiểu Bool
- 2.6Bài 2.6. Type Inference
- 2.7Bài 2.7. Type Annotation
- 2.8Bài 2.8. Operators
- 2.9Bài 2.9. Arithmetic Operators
- 2.10Bài 2.10. Comparison Operators
- 2.11Bài 2.11. Logical Operators
- 2.12Bài 2.12. String Interpolation
- 2.13Bài 2.13. Type Conversion
- Chương 3 - Các cấu trúc điều khiển và tập hợp17 ItemsMục tiêu: Giúp học viên xử lý logic và dữ liệu cơ bản.
- 3.1Bài 3.1. Cấu trúc if
- 3.2Bài 3.2. Cấu trúc if-else
- 3.3Bài 3.3. Cấu trúc else if
- 3.4Bài 3.4. Cấu trúc switch
- 3.5Bài 3.5. Cấu trúc lặp for
- 3.6Bài 3.6. Cấu trúc lặp while
- 3.7Bài 3.7. Cấu trúc lặp repeat while
- 3.8Bài 3.8. Cấu trúc dữ liệu mảng
- 3.9Bài 3.9. Cấu trúc dữ liệu Set
- 3.10Bài 3.10. Cấu trúc dữ liệu Dictionary
- 3.11Bài 3.11. Hàm map
- 3.12Bài 3.12. Hàm filter
- 3.13Bài 3.13. Hàm reduce
- 3.14Bài 3.14. Hàm forEach
- 3.15Bài 3.15. Optional cơ bản
- 3.16Bài 3.16. Optional nâng cao
- 3.17Bài 3.17. Toán tử guard
- Chương 4 - Hàm, struct, enum và protocol17 ItemsMục tiêu: bạn bắt đầu viết code có cấu trúc thay vì một file chứa toàn bộ logic.
- 4.1Bài 4.1. Hàm
- 4.2Bài 4.2. Các tham số của hàm
- 4.3Bài 4.3. Kiểu trả về
- 4.4Bài 4.4. Hàm nhiều tham số
- 4.5Bài 4.5. Các tham số mặc định
- 4.6Bài 4.7. Kiểu struct
- 4.7Bài 4.8. Các thuộc tính
- 4.8Bài 4.9. Các phương thức
- 4.9Bài 4.10. Trình khởi tạo
- 4.10Bài 4.11. Thuộc tính dẫn xuất
- 4.11Bài 4.12. Kiểu enum
- 4.12Bài 4.13. Giá trị thô
- 4.13Bài 4.14. Giá trị liên kết
- 4.14Bài 4.15. Protocol
- 4.15Bài 4.16. Tuân thủ protocol
- 4.16Bài 4.17. Extension
- 4.17Bài 4.18. Access control
- Chương 5 - Switch nâng cao20 ItemsMục tiêu: chuẩn bị nền tảng Swift đủ tốt để bước vào SwiftUI và architecture.
- 5.1Bài 5.1. Kiểu dữ liệu class
- 5.2Bài 5.2. Struct vs class
- 5.3Bài 5.3. Value type vs reference type
- 5.4Bài 5.4. Tính chất kế thừa
- 5.5Bài 5.5. Sự khởi tạo
- 5.6Bài 5.6. Keyword self
- 5.7Bài 5.7. Keyword lazy
- 5.8Bài 5.8. Giám sát thuộc tính
- 5.9Bài 5.9. Closure
- 5.10Bài 5.10. Trailing closure
- 5.11Bài 5.11. Escaping closure
- 5.12Bài 5.12. Hàm bậc cao
- 5.13Bài 5.13. Kiểu generic
- 5.14Bài 5.14. Ràng buộc kiểu
- 5.15Bài 5.15. Codable
- 5.16Bài 5.16. Identifiable
- 5.17Bài 5.17. Equaltable
- 5.18Bài 5.18. Hashtable
- 5.19Bài 5.19. Xử lý lỗi
- 5.20Bài 5.20. Tuỳ biến lỗi
- Chương 6 - SwiftUI cơ bản20 ItemsMục đích: hiểu tư duy Declarative UI và xây được các giao diện SwiftUI cơ bản.
- 6.1Bài 6.1. Declarative UI
- 6.2Bài 6.2. SwiftUI View
- 6.3Bài 6.3. Tìm hiểu về body
- 6.4Bài 6.4. Text
- 6.5Bài 6.5. Image
- 6.6Bài 6.6. Label
- 6.7Bài 6.7. Button
- 6.8Bài 6.8. Divider
- 6.9Bài 6.9. Spacer
- 6.10Bài 6.10. VStack
- 6.11Bài 6.11. HStack
- 6.12Bài 6.12. ZStack
- 6.13Bài 6.13. Padding
- 6.14Bài 6.14. Frame
- 6.15Bài 6.15. Background
- 6.16Bài 6.16. Overlay
- 6.17Bài 6.17. Shape
- 6.18Bài 6.18. Color
- 6.19Bài 6.19. SF Symbols
- 6.20Bài 6.20. Font tuỳ chỉnh
- Chương 7 - SwiftUI nâng cao20 ItemsMục đích: Xây giao diện phức tạp hơn và biết cách tạo reusable component.
- 7.1Bài 7.1. ScrollView
- 7.2Bài 7.2. LazyVStack
- 7.3Bài 7.3. LazyHStack
- 7.4Bài 7.4. LazyVGrid
- 7.5Bài 7.5. Grid
- 7.6Bài 7.6. List
- 7.7Bài 7.7. Section
- 7.8Bài 7.8. Form
- 7.9Bài 7.9. GroupBox
- 7.10Bài 7.10. Card UI
- 7.11Bài 7.11. Button tuỳ chỉnh
- 7.12Bài 7.12. TextField tuỳ chỉnh
- 7.13Bài 7.13. Component tuỳ chỉnh
- 7.14Bài 7.14. ViewModifier
- 7.15Bài 7.15. View Extension
- 7.16Bài 7.16. Reusable View
- 7.17Bài 7.17. Responsive Layout
- 7.18Bài 7.18. GeometryReader
- 7.19Bài 7.19. Safe Area
- 7.20Bài 7.20. Layout Best Practices
- Chương 8 - Tương tác người dùng và Form20 ItemsMục đích: xây ứng dụng multi-screen đầu tiên.
- 8.1Bài 8.1. Trình bọc thuộc tính @State
- 8.2Bài 8.2. Trình bọc thuộc tính @Binding
- 8.3Bài 8.3. TextField
- 8.4Bài 8.4. SecureField
- 8.5Bài 8.5. Toggle
- 8.6Bài 8.6. Slider
- 8.7Bài 8.7. Stepper
- 8.8Bài 8.8. Picker
- 8.9Bài 8.9. DatePicker
- 8.10Bài 8.10. Menu
- 8.11Bài 8.11. Button Actions
- 8.12Bài 8.12. Focus State
- 8.13Bài 8.13. Keyboard Management
- 8.14Bài 8.14. Form Validation
- 8.15Bài 8.15. Alert
- 8.16Bài 8.16. ConfirmationDialog
- 8.17Bài 8.17. Sheet
- 8.18Bài 8.18. FullScreenCover
- 8.19Bài 8.19. Loading State
- 8.20Bài 8.20. Error State
- Chương 9 - List, Navigation và Data Flow18 ItemsMục tiêu: Xây ứng dụng multi-screen đầu tiên.
- 9.1Bài 9.1. List
- 9.2Bài 9.2. ForEach
- 9.3Bài 9.3. Identifiable
- 9.4Bài 9.4. NavigationStack
- 9.5Bài 9.5. NavigationLink
- 9.6Bài 9.6. Navigation Destination
- 9.7Bài 9.7. NavigationPath
- 9.8Bài 9.8. Programmatic Navigation
- 9.9Bài 9.9. Sheet Navigation
- 9.10Bài 9.10. TabView
- 9.11Bài 9.11. Tab Bar
- 9.12Bài 9.12. Truyền dữ liệu giữa các View
- 9.13Bài 9.13. Liên kết binding giữa các View
- 9.14Bài 9.14. Vòng đời của View
- 9.15Bài 9.15. View modifier onAppear
- 9.16Bài 9.16. View modifier onDisappear
- 9.17Bài 9.17. Modifier task
- 9.18Bài 9.18. View modifier onChange
- Chương 10 - Quản lý trạng thái18 ItemsMục đích: Hiểu cách SwiftUI quản lý state và tránh các lỗi phổ biến khi app bắt đầu lớn.
- 10.1Bài 10.1. State là gì?
- 10.2Bài 10.2. Nguồn của sự thật
- 10.3Bài 10.3. @State
- 10.4Bài 10.4. @Binding
- 10.5Bài 10.5. @Environment
- 10.6Bài 10.6. EnvironmentObject
- 10.7Bài 10.7. ObservableObject
- 10.8Bài 10.8. @Published
- 10.9Bài 10.9. @Observable
- 10.10Bài 10.10. State Ownership
- 10.11Bài 10.11. Shared State
- 10.12Bài 10.12. App State
- 10.13Bài 10.13. Model State
- 10.14Bài 10.14. UI State
- 10.15Bài 10.15. Loading State
- 10.16Bài 10.16. Error State
- 10.17Bài 10.17. Empty State
- 10.18Bài 10.18. State-driven UI
- Chương 11 - Kiến trúc MVVM15 ItemsMục tiêu: biết cách tổ chức code khi application bắt đầu phức tạp.
- 11.1Bài 11.1. Vì sao cần Architecture?
- 11.2Bài 11.2. MVC vs MVVM
- 11.3Bài 11.3. MVVM là gì?
- 11.4Bài 11.4. Model
- 11.5Bài 11.5. View
- 11.6Bài 11.6. ViewModel
- 11.7Bài 11.7. Trách nhiệm của ViewModel
- 11.8Bài 11.8. Trạng thái trong ViewModel
- 11.9Bài 11.9. Input từ View
- 11.10Bài 11.10. Output từ ViewModel
- 11.11Bài 11.11. Dependency Injection cơ bản
- 11.12Bài 11.4. Async ViewModel
- 11.13Bài 11.13. Loading
- 11.14Bài 11.14. Error Handling
- 11.15Bài 11.15. Refactoring View thành MVVM
- Chương 12 - Networking với URLSession20 ItemsMục tiêu: Kết nối app với REST API
- 12.1Bài 12.1. API là gì?
- 12.2Bài 12.2. REST API
- 12.3Bài 12.3. HTTP
- 12.4Bài 12.4. GET
- 12.5Bài 12.5. POST
- 12.6Bài 12.6. PUT
- 12.7Bài 12.7. PATCH
- 12.8Bài 12.8. DELETE
- 12.9Bài 12.9. URL
- 12.10Bài 12.10. Query Parameters
- 12.11Bài 12.11. HTTP Headers
- 12.12Bài 12.12. Request Body
- 12.13Bài 12.13. URLSession
- 12.14Bài 12.14. JSON
- 12.15Bài 12.15. Codable
- 12.16Bài 12.16. Decodable
- 12.17Bài 12.17. Encodable
- 12.18Bài 12.18. HTTP Status Code
- 12.19Bài 12.19. Network Error
- 12.20Bài 12.20. Loading API Data trong SwiftUI
- Chương 13 - Kiến trúc Networking15 ItemsMục đích: Không để ViewModel gọi URLSession trực tiếp; xây network layer có thể tái sử dụng.
- 13.1Bài 13.1. Vì sao cần Network Layer?
- 13.2Bài 13.2. NetworkClient
- 13.3Bài 13.3. Endpoint
- 13.4Bài 13.4. HTTPMethod
- 13.5Bài 13.5. Request Builder
- 13.6Bài 13.6. Generic Request
- 13.7Bài 13.7. Response DTO
- 13.8Bài 13.8. DTO Mapping
- 13.9Bài 13.9. NetworkError
- 13.10Bài 13.10. API Error
- 13.11Bài 13.11. Request Logging
- 13.12Bài 13.12. Retry
- 13.13Bài 13.13. Timeout
- 13.14Bài 13.14. API Configuration
- 13.15Bài 13.15. Network Layer Refactoring
- Chương 14 - Clean Architecture19 ItemsMục tiêu: Đây là bước chuyển từ Junior Architecture → Professional Architecture.
- 14.1Bài 14.1. Clean Architecture là gì?
- 14.2Bài 14.2. Khi nào cần Clean Architecture?
- 14.3Bài 14.3. Tầng trình diễn
- 14.4Bài 14.4. Tầng nghiệp vụ
- 14.5Bài 14.5. Tầng dữ liệu
- 14.6Bài 14.6. Các lớp Entity
- 14.7Bài 14.7. Các lớp UseCase
- 14.8Bài 14.8. Các lớp Repository
- 14.9Bài 14.9. Các lớp DataSource
- 14.10Bài 14.10. Các lớp DTO
- 14.11Bài 14.11. Các lớp Mapper
- 14.12Bài 14.12. Quy tắc phụ thuộc
- 14.13Bài 14.13. Đảo ngược phụ thuộc
- 14.14Bài 14.14. Repository protocol
- 14.15Bài 14.15. UseCase protocol
- 14.16Bài 14.16. MVVM + Clean Architecture
- 14.17Bài 14.17. Cấu trúc dự án
- 14.18Bài 14.18. Feature-based Architecture
- 14.19Bài 14.19. Khi nào không nên dùng Clean Architecture
- Chương 15 - Dependency Injection12 ItemsMục tiêu: Giúp code dễ mở rộng, thay thế implementation và test.
- 15.1Bài 15.1. Dependency là gì?
- 15.2Bài 15.2. Dependency Injection
- 15.3Bài 15.3. Constructor Injection
- 15.4Bài 15.4. Protocol-based DI
- 15.5Bài 15.5. Composition Root
- 15.6Bài 15.6. Dependency Container
- 15.7Bài 15.7. AppDIContainer
- 15.8Bài 15.8. Mock Dependency
- 15.9Bài 15.9. Production Dependency
- 15.10Bài 15.10. Development Dependency
- 15.11Bài 15.11. Dependency Graph
- 15.12Bài 15.12. DI Best Practices
- Chương 16 - Authentication & Security17 ItemsMục tiêu: Xây hệ thống authentication production.
- 16.1Bài 16.1. Authentication vs Authorization
- 16.2Bài 16.2. Luồng đăng nhập
- 16.3Bài 16.3. Luồng đăng ký
- 16.4Bài 16.4. Access Token
- 16.5Bài 16.5. Refresh Token
- 16.6Bài 16.6. Hạn sử dụng của Token
- 16.7Bài 16.7. Phiên làm việc
- 16.8Bài 16.8. Keychain
- 16.9Bài 16.9. Secure Storage
- 16.10Bài 16.10. Đăng xuất
- 16.11Bài 16.11. Session Restoration
- 16.12Bài 16.12. Automatic Token Refresh
- 16.13Bài 16.13. Retry Request
- 16.14Bài 16.14. Refresh đồng thời
- 16.15Bài 16.15. Trạng thái Authentication
- 16.16Bài 16.16. Security Best Practices
- 16.17Bài 16.16. Security Best Practices
- Chương 17 - Swift Concurrency19 ItemsMục tiêu: Giúp học viên viết code asynchronous hiện đại và an toàn.
- 17.1Bài 17.1. Synchronous vs Asynchronous
- 17.2Bài 17.2. Luồng
- 17.3Bài 17.3. async
- 17.4Bài 17.4. await
- 17.5Bài 17.5. Task
- 17.6Bài 17.6. Huỷ task
- 17.7Bài 17.7. Lập trình song song có cấu trúc
- 17.8Bài 17.8. Lập trình song song không cấu trúc
- 17.9Bài 17.9. Nhóm tác vụ
- 17.10Bài 17.10. API Requests song song
- 17.11Bài 17.11. actor
- 17.12Bài 17.12. MainActor
- 17.13Bài 17.13. Sendable
- 17.14Bài 17.14. Tương tranh dữ liệu
- 17.15Bài 17.15. AsyncSequence
- 17.16Bài 17.16. AsyncStream
- 17.17Bài 17.17. Concurrency trong SwiftUI
- 17.18Bài 17.18. Concurrency trong ViewModel
- 17.19Bài 17.19. Concurrency trong Repository
- Chương 18 - SwiftData & Local Database16 ItemsMục tiêu: Lưu dữ liệu local và xây khả năng offline.
- 18.1Bài 18.1. Local Database là gì?
- 18.2Bài 18.2. SwiftData
- 18.3Bài 18.3. Model
- 18.4Bài 18.4. ModelContainer
- 18.5Bài 18.5. ModelContext
- 18.6Bài 18.6. Insert
- 18.7Bài 18.7. Fetch
- 18.8Bài 18.8. Predicate
- 18.9Bài 18.9. Sort
- 18.10Bài 18.10. Update
- 18.11Bài 18.11. Delete
- 18.12Bài 18.12. Relationship
- 18.13Bài 18.13. Quan hệ 1-n
- 18.14Bài 18.14. Migration
- 18.15Bài 18.15. Kiến trúc SwiftData
- 18.16Bài 18.16. 1. SwiftData + Clean Architecture
- Chương 19 - Phân trang, tìm kiếm và ưu tiên offline18 ItemsMục tiêu: Xử lý dữ liệu lớn và xây trải nghiệm giống ứng dụng production.
- 19.1Bài 19.1. Phân trang
- 19.2Bài 19.2.Page-based Pagination
- 19.3Bài 19.3. Cursor Pagination
- 19.4Bài 19.4. Cuộn vô tận
- 19.5Bài 19.5. Load more
- 19.6Bài 19.6. Prevent Duplicate Request
- 19.7Bài 19.7. Pull to Refresh
- 19.8Bài 19.8. Search
- 19.9Bài 19.9. Debounce
- 19.10Bài 19.10. Task Cancellation
- 19.11Bài 19.11. Filter
- 19.12Bài 19.12. Sort
- 19.13Bài 19.13. Local Search
- 19.14Bài 19.14. Remote Search
- 19.15Bài 19.15. Cache
- 19.16Bài 19.16. Offline-first
- 19.17Bài 19.17. Synchronization
- 19.18Bài 19.18. Cache Invalidation
- Chương 20 - Kiểm thử20 ItemsMục tiêu: nắm được quy trình kiểm thử ứng dụng trước khi phát hành nhằm đảm bảo ứng dụng có chất lượng tốt nhất.
- 20.1Bài 20.1. Vì sao cần Testing?
- 20.2Bài 20.2. Unit Test
- 20.3Bài 20.3. Test Target
- 20.4Bài 20.4. XCTest
- 20.5Bài 20.5. Arrange-Act-Assert
- 20.6Bài 20.6. Mock
- 20.7Bài 20.7. Stub
- 20.8Bài 20.8. Fake
- 20.9Bài 20.9. Spy
- 20.10Bài 20.10. Repository Test
- 20.11Bài 20.11. UseCase Test
- 20.12Bài 20.12. ViewModel Test
- 20.13Bài 20.13. Async Test
- 20.14Bài 20.14. Error Test
- 20.15Bài 20.15. Networking Test
- 20.16Bài 20.16. UI Test
- 20.17Bài 20.17. Navigation Test
- 20.18Bài 20.18. Login Test
- 20.19Bài 20.19. Search Test
- 20.20Bài 20.20. Test Coverage
- Chương 21 - Hiệu năng và bộ nhớ sử dụng19 ItemsMục tiêu: Biết cách tìm và xử lý performance problem trong ứng dụng thực tế.
- 21.1Bài 21.1. SwiftUI Rendering
- 21.2Bài 21.2. View Re-render
- 21.3Bài 21.3. View Identity
- 21.4Bài 21.4. State Optimization
- 21.5Bài 21.5. List Performance
- 21.6Bài 21.6. Lazy Containers
- 21.7Bài 21.7. Image Performance
- 21.8Bài 21.8. Memory Management
- 21.9Bài 21.9. Strong Reference Cycle
- 21.10Bài 21.10. Retain Cycle
- 21.11Bài 21.11. Memory Leak
- 21.12Bài 21.12. Instruments
- 21.13Bài 21.13. Time Profiler
- 21.14Bài 21.14. Allocations
- 21.15Bài 21.15. Leaks
- 21.16Bài 21.16. Memory Graph
- 21.17Bài 21.17. Network Performance
- 21.18Bài 21.18. Database Performance
- 21.19Bài 21.19. Performance Optimization Workflow
- Chương 22 - Media, Push Notification & Deep Link18 ItemsMục tiêu: Bổ sung những capability phổ biến trong production app.
- 22.1Bài 22.1. AsyncImage
- 22.2Bài 22.2. Image Loading
- 22.3Bài 22.3. Image Cache
- 22.4Bài 22.4. Memory Cache
- 22.5Bài 22.5. Disk Cache
- 22.6Bài 22.6. AVFoundation
- 22.7Bài 22.7. AVPlayer
- 22.8Bài 22.8. Video Player
- 22.9Bài 22.9. HLS
- 22.10Bài 22.10. Push Notification
- 22.11Bài 22.11. APNs
- 22.12Bài 22.12. Device Token
- 22.13Bài 22.13. Notification Permission
- 22.14Bài 22.14. Notification Payload
- 22.15Bài 22.15. Notification Handling
- 22.16Bài 22.16. Deep Link
- 22.17Bài 22.17. Universal Link
- 22.18Bài 22.18. 1. Notification → Deep Link
- Chương 23 - StoreKit 2 & Monetization17 ItemsMục tiêu: Giúp bạn xây app có khả năng thương mại hóa.
- 23.1Bài 23.1. Kiếm tiền trong ứng dụng
- 23.2Bài 23.2. StoreKit 2
- 23.3Bài 23.3. Product
- 23.4Bài 23.4. Product ID
- 23.5Bài 23.5. Load Products
- 23.6Bài 23.6. Purchase
- 23.7Bài 23.7. Transaction
- 23.8Bài 23.8. Transaction Verification
- 23.9Bài 23.9. Restore Purchase
- 23.10Bài 23.10. Lifetime Purchase
- 23.11Bài 23.11. Subscription
- 23.12Bài 23.12. Subscription Status
- 23.13Bài 23.13. Entitlement
- 23.14Bài 23.14. Transaction Listener
- 23.15Bài 23.15. StoreKit Architecture
- 23.16Bài 23.16. Backend Verification
- 23.17Bài 23.17. 1. Handling Purchase Errors
- Chương 24 - Production Architecture & Capstone20 ItemsMục tiêu: Đưa toàn bộ kiến thức thành một ứng dụng hoàn chỉnh có architecture production.
- 24.1Bài 24.1. Production Project Structure
- 24.2Bài 24.2. Feature-based Architecture
- 24.3Bài 24.3. AppDIContainer
- 24.4Bài 24.4. Environment Configuration
- 24.5Bài 24.5. Development Environment
- 24.6Bài 24.6. Staging Environment
- 24.7Bài 24.7. Production Environment
- 24.8Bài 24.8. API Configuration
- 24.9Bài 24.9. Security Checklist
- 24.10Bài 24.10. Logging
- 24.11Bài 24.11. Error Monitoring
- 24.12Bài 24.12. Accessibility
- 24.13Bài 24.13. Localization
- 24.14Bài 24.14. Performance Checklist
- 24.15Bài 24.15. Testing Checklist
- 24.16Bài 24.16. Code Review
- 24.17Bài 24.17. Refactoring
- 24.18Bài 24.18. Architecture Review
- 24.19Bài 24.19. App Store Preparation
- 24.20Bài 24.20. Dự án tốt nghiệp
- Chương 25 - Thiết lập hiển thị quảng cáo trong ứng dụng5 ItemsMục tiêu: Thiêt lập hiển thị quảng cáo dạng reward ads trong ứng dụng của bạn.
- Chương 26 - Đẩy app lên Apple Store7 ItemsMục tiêu: Hướng dẫn các bước đẩy ứng dụng lên chợ ứng dụng của Apple Store Connect và thực hiện các cấu hình, cập nhật, sửa lỗi, phát hành chính thức app.
- 26.1Bài 26.1. Thiết lập cấu hình build app production
- 26.2Bài 26.2. Thực hiện build app achive
- 26.3Bài 26.3. Đăng ký tài khoản Apple Developer
- 26.4Bài 26.4. Thiết lập cấu hình trên Apple Store Connect
- 26.5Bài 26.5. Đẩy app lên Test Flight
- 26.6Bài 26.6. Gửi yêu cầu xét duyệt app trên Apple Store Connect
- 26.7Bài 26.7. Sửa lỗi và phản hồi, hướng dẫn khi bị reject
Bài 1.2. Swift là gì?
Tiếp theo
