Là iOS developer, chúng ta đã biết quản lý các môi trường khác nhau như Development, QA, Beta, và Production. Với các môi trường khác nhau, có server URL, app icon, và cấu hình khác nhau.
Vì vậy trước khi tạo build mới trỏ đến môi trường, cần nhớ thay đổi server URL. Có thể làm bằng cách thay đổi giá trị flag hardcoded trong file constant hoặc dùng macro, nhưng điều đó làm mọi thứ phức tạp hơn.
Nhưng nếu suy nghĩ một chút, có thể nảy ra ý tưởng. Và áp dụng ý tưởng này, có thể dễ dàng xử lý bất kỳ tình huống nào. Ý tưởng là: nếu tạo các schema và configuration khác nhau, thì cho phép thay đổi server URL ứng dụng, App icon, file Plist, và cấu hình.
Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách quản lý các môi trường khác nhau dùng schema và configuration.
Đây là các bước:
Thiết Lập Dự Án:
Mở Xcode và tạo ứng dụng single view mới với tên phù hợp.
Thêm Schema Và Configurations:
Trước khi thêm schema, cần biết mọi Xcode schema đi kèm hai build configuration khác nhau: Debug và Release. Nếu muốn, có thể thay đổi cụ thể cho một build configuration cụ thể.
Để thêm build configuration, chọn project trong pane Project Navigator bên trái. Sau đó chọn Info từ hai tùy chọn (Info và Build Settings). Trong Configurations, thêm configuration riêng cho năm môi trường (Development, Production, QA, Beta, và UAT).

Trước hết, double click vào Debug và đổi tên thành Debug (Development). Tương tự, double click vào Release và đổi tên thành Release (Development). Bây giờ click +, chọn Duplicate Debug (Development) và Duplicate Release (Development), sau đó đổi tên environment trùng lặp với các tên còn lại.

Để tạo schema, vào manage schema ở góc trên bên trái Xcode. Bạn sẽ thấy đã có một schema. Đổi tên thành Development — hoặc xóa schema hiện tại và thêm mới tên Development. Sau đó thêm 4 schema còn lại cho các môi trường khác.

Ối, đừng quên tick ô shared. Sau khi thêm tất cả schema, màn hình manage schema trông như sau:

Thêm File Cài Đặt Cấu Hình:
Click chuột phải vào Project, chọn new file, sau đó thêm Configuration Settings File và đặt tên trùng với tên môi trường.

Sau khi thêm tất cả file config, pane Project Navigator bên trái trông như sau:

Bây giờ phần quan trọng nhất bắt đầu: thêm server URL và key-value tùy chỉnh khác vào file configuration tương ứng.

Thêm File Plist:
Đổi tên file info.plist thành development.plist. Copy và paste cùng file plist cho các môi trường khác trong project, đổi tên từng file plist theo tên môi trường. Có thể đặt key-value đặc thù môi trường trong file plist. Sau đó, thêm key từ file configuration vào file plist như sau:

Giờ cần đặt đường dẫn plist phù hợp cho từng build configuration. Từ Targets, chọn file plist, đổi tên trùng tên cho configuration Debug và Release.


Liên Kết Build Configuration Với File Cấu Hình:
Chọn tất cả build configuration (Debug và Release) trong Projects Info lần lượt. Sau đó đặt file cấu hình phù hợp, đã thêm vào project.

Sau khi thêm tất cả file cấu hình, Build settings trông như sau:

Vậy là đã liên kết thành công tất cả file cấu hình với build configuration tương ứng.
Liên Kết Schema Với Build Configuration:
Bước cuối là liên kết schema với build configuration. Chọn bất kỳ schema, vào edit schema, đặt build configuration phù hợp.

Sẵn Sàng Chạy Dự Án:
Thiết lập đã xong. Chỉ việc chọn schema và run – môi trường sẽ tự động được chọn. Để lấy server URL và giá trị khác, tôi tạo file Environment.swift. Xem nhé:
Để lấy server URL hoặc cài đặt khác trong ViewController.Swift hoặc file khác, chỉ cần viết một dòng code:
Cũng có thể quản lý app icon khác nhau cho môi trường khác từ build settings. Sau đó, chỉ cần nhìn một giây để biết build môi trường nào cài trên thiết bị.

Dự án hoàn chỉnh có trên GitHub. Bạn có thể tải về nếu có thắc mắc.
Đừng lãng phí thời gian thay đổi server URL hoặc cấu hình khác mỗi lần build dự án. Đây là cách dễ nhất quản lý các môi trường, app icon, và cấu hình khác nhau.
Nếu thích, đừng quên clap. Sẽ truyền cảm hứng hơn. Mọi góp ý, vui lòng email mail2boudhayan@gmail.com.