07/09/2018, 09:31

Quản lý nhiều môi trường và cấu hình cho ứng dụng iOS

Trong quá trình làm ứng dụng, chắc hẳn không ít lần bạn phải switch qua lại giữa các môi trường develop, staging hay production để làm việc. Những môi trường này sẽ có những server url khác nhau, app icons và cấu hình khác nhau. Một số cách thông dụng để quản lý các môi trường: Sử dụng ...

Trong quá trình làm ứng dụng, chắc hẳn không ít lần bạn phải switch qua lại giữa các môi trường develop, staging hay production để làm việc. Những môi trường này sẽ có những server url khác nhau, app icons và cấu hình khác nhau.

Một số cách thông dụng để quản lý các môi trường:

  • Sử dụng comments
  • Sử dụng biến global hoặc enums
  • Sử dụng configurations và schemes với global flag
  • Sử dụng configuration và scheme với plist file
  • Sử dụng configuration và scheme với configuration file

Đối với các cách dùng comment hay enums, trước khi tạo build cho một môi trường, cần phải thay đổi server url. Ta có thể thay đổi bằng việc comment các url khác nhau hay dùng flag, tuy nhiên việc làm này sẽ trở nên phức tạp nếu phải thay đổi ở nhiều nơi, hoặc nếu bạn quên không đổi url khi release app thì sẽ khiến bản build không chạy được.

Những công việc thủ công trên có thể hoàn toàn tránh được bằng cách sử dụng schemes và configuration, chỉ cần cấu hình một lần, những lần sau ta chỉ cần chọn môi trường mình muốn build là sẽ build được ứng dụng với những cấu hình phù hợp.

Bài viết này sẽ hướng dẫn các bạn cách quản lý các môi trường build của một app iOS bằng scheme và configuration.

Tạo môi trường

Đầu tiên hãy tạo mới một ứng dụng và đặt tên là ConfigEnvironments. Ta cần tạo các môi trường Development, Staging và Production. Vào Project/Info/Configuration, đặt lại tên của môi trường hiện tại thành Debug (Development) và Release (Development). Sau đó, duplicate Debug và Release cho các môi trường còn lại như sau:

Tạo schemes

Chọn Manage Schemes, sau đó tạo mới các schemes và đặt tên là Staging và Production với container là project hiện tại:

Định nghĩa server url

Ta cần định nghĩa các server url cho từng môi trường, trong project build settings, thêm mới giá trị và đặt tên là server_url:

Trong file Info.plist, định nghĩa biến server_url để app gọi tới khi cần lấy giá trị.

Liên kết schemes với configuration

Đây là bước cuối cùng ta cần thực hiện để báo cho app biết scheme nào sẽ đi với config nào.

Ngoài ra, ta còn có thể set những app icon riêng biệt cho từng cấu hình một cách dễ dàng.

Và bây giờ, chỉ cần với một cái kích chuột là bạn đã có thể build được ứng dụng trên môi trường mong muốn mà không phải tốn thêm một chút công sức nào nữa.

0