Làm việc với nhiều môi trường trong phát triển dự án và cấu hình trên Xcode

Giới thiệu

Trong quá trình phát triển dự án chúng ta sẽ trải qua các giai đoạn như : Develop, Test, UAT, Release.

Vậy làm thế nào chúng ta có thể quản lý các môi trường này và cấu hình nó trong project của mình?

Bài viết này sẽ giúp bạn giải đáp câu hỏi trên.

Ứng với mỗi giai đoạn phát triển lại gắn liền với một môi trường. Ví dụ như trong quá trình phát triển và test chúng ta sẽ dùng môi trường staging, khi khách hàng UAT sẽ dùng môi trường Develop, và khi dự án release đưa vào sử dụng sẽ là môi trường Production. Với mỗi môi trường sẽ có server URL khác nhau, việc thay đổi này khá bất tiện trước mỗi lần build. Chính vì thế cần cấu hình vào project của mình, bài viết này sẽ hướng dẫn bằng cách dùng Scheme.

Thiết lập project

1. Mở Xcode và tạo ứng dụng mới

2. Tạo thêm các Scheme

Với mỗi Scheme đều có 2 cấu hình khác nhau đó là Debug và Release. Tạo thêm các cầu hình Build như hình dưới :

sau khi đã tạo đủ các scheme theo mong muốn bạn có thể đổi tên chúng

Sau khi đã tạo xong các cấu hình build, chúng ta tiến hành tạo các scheme. Ở góc trên bên trái chúng ta chọn Manager Schemes để tiến hành tạo thêm các scheme. Ban đầu nó sẽ có sẵn 1 scheme, trong bài này chúng ta coi đó là môi trường staging

Tạo thêm Scheme Chúng ta cũng tiến hành tạo thêm 2 môi trường là Develop và Production.

Giờ ở phần chọn scheme sẽ có thêm 2 lựa chọn mới để run project

3. Cấu hình cho từng Scheme

Sau khi đã tạo xong các Scheme, chúng ta cần cấu hình cho từng scheme tương ứng với các cấu hình build đã tạo trước đó .

Sau khi đã cấu hình xong các bạn hãy vào Build Settings để thêm các định danh với từng môi trường, nó hỗ trợ trong quá trình xử lý code.

Vào mục Build Settings của target project , tìm đến phần Active Compilation Conditions và đặt định danh

4. Coding

Giờ bạn đã có được cho mình 3 môi trường staging, develop, production cho từng giai đoạn. Việc cuối cùng đó là tiến hành kiểm tra môi trường để xử lý code tương ứng dựa vào định danh đã đặt ở trên:

        #if DEBUG || RELEASE
        print("Staging")
        #elseif DEVELOP_DEBUG || DEVELOP_RELEASE
        print("Develop")
        #else
        print("Production")
        #endif 

Khi build với từng scheme sẽ chạy vào đoạn code tương ứng.

Bài viết này mong muốn giúp ích cho các bạn trong quá trình phát triển dự án Ios với nhiều môi trường.