Thiết lập Phát triển
Hướng dẫn này sẽ giúp bạn thiết lập môi trường phát triển để build và đóng góp cho TablePro.Yêu cầu
Trước khi bắt đầu, đảm bảo bạn đã cài đặt những thứ sau:Phần mềm bắt buộc
| Phần mềm | Phiên bản | Mục đích |
|---|---|---|
| macOS | 13.5+ (Ventura) | Nền tảng target |
| Xcode | 15.0+ | Development IDE |
| Git | Latest | Version control |
Công cụ tùy chọn
| Công cụ | Mục đích |
|---|---|
| SwiftLint | Code linting |
| SwiftFormat | Code formatting |
| Homebrew | Package management |
Bắt đầu
Bước 1: Clone Repository
Bước 2: Cài đặt Development Tools
Cài đặt SwiftLint và SwiftFormat cho chất lượng code:Bước 3: Mở trong Xcode
TablePro.xcodeproj.
Bước 4: Build và Run
- Chọn scheme TablePro trong Xcode
- Chọn My Mac làm destination
- Nhấn
Cmd+Rđể build và chạy


Cấu trúc dự án
tablepro
TablePro
Models
Views
ViewModels
Core
Extensions
Theme
Resources
TableProTests
Libs
scripts
.swiftlint.yml
.swiftformat
Build
Build Phát Triển
Cho phát triển hàng ngày:Build Release
Cho builds sẵn sàng phân phối:Chạy Tests
Cmd+U).
Chất lượng Code
SwiftLint
Chạy SwiftLint để kiểm tra các vấn đề code:SwiftFormat
Format code để khớp với phong cách dự án:Tệp cấu hình
.swiftlint.yml
Các rules và cấu hình SwiftLint:- Giới hạn độ dài dòng
- Giới hạn độ phức tạp function
- Các rules bị vô hiệu hóa
- Các rules tùy chỉnh
.swiftformat
Các tùy chọn SwiftFormat:- Kiểu indentation
- Vị trí brace
- Thứ tự import
- Các rules formatting khác
Workflow phát triển
Thực hiện thay đổi
-
Tạo feature branch:
- Thực hiện thay đổi của bạn
-
Chạy linting:
-
Chạy tests:
-
Commit thay đổi của bạn:
-
Push và tạo pull request:
Debugging
Sử dụng công cụ debugging của Xcode:- Đặt breakpoints bằng cách click số dòng
- Sử dụng
potrong debug console để in objects - Sử dụng Variables View để kiểm tra state
- Sử dụng Console.app cho system logs
Logging
TablePro sử dụng OSLog cho debugging:Các tác vụ thông dụng
Thêm một View mới
- Tạo SwiftUI view trong subfolder
Views/phù hợp - Tuân theo quy ước đặt tên hiện tại (
FeatureNameView.swift) - Sử dụng
@Observablehoặc@StateObjectcho quản lý state - Thêm vào navigation/routing nếu cần
Thêm tính năng Database
- Triển khai trong driver phù hợp (
MySQLDriver.swift, etc.) - Thêm vào protocol
DatabaseDrivernếu là generic - Thêm UI trong các view components liên quan
- Thêm tests
Sửa đổi Settings
- Thêm vào struct settings phù hợp trong
AppSettings.swift - Cập nhật
SettingsViewđể hiển thị setting - Sử dụng setting trong toàn bộ app qua
@AppStoragehoặc settings manager
Khắc Phục Sự Cố
Lỗi Build
- Clean build folder:
Cmd+Shift+K - Xóa derived data:
- Đóng và mở lại Xcode
- Kiểm tra cập nhật Xcode
Lỗi SwiftLint
- Đọc kỹ error message
- Kiểm tra
.swiftlint.ymlcho cấu hình rule - Sửa vấn đề hoặc vô hiệu hóa rule nếu phù hợp
- Chạy
swiftlint --fixcho các vấn đề có thể tự động sửa
Thư viện bị thiếu
Nếu thư viện native bị thiếu:- Kiểm tra thư mục
Libs/ - Đảm bảo
libmariadb_universal.atồn tại - Chạy
scripts/build-release.shđể chuẩn bị thư viện
