2015-04-14 17 views
5

Chúng tôi sử dụng các hương vị sản phẩm trong Android để giữ cùng mã dưới sự kiểm soát nguồn, nhưng điều kiện nhắm mục tiêu các điểm cuối đến các máy chủ dev/qa/production dựa trên hương vị được chọn. Để tham khảo:Có khái niệm tương đương trong phát triển iOS cho một hương vị sản phẩm Android không?

http://tools.android.com/tech-docs/new-build-system/build-system-concepts

Ví dụ, khi chúng ta muốn thử nghiệm một thiết bị đầu cuối mới trong "dev" môi trường chúng ta có thể có một tập tin trong src/dev/res/values/endpoints.xml rằng có một mục đó là tương đương với XML của urlbase = https://dev-endpoint.ourserver.com/v3/, và xây dựng sử dụng "dev" hương vị sản phẩm để tạo APK được chỉ vào môi trường dev của chúng tôi.

Có khái niệm tương đương về phát triển iOS không?

Trả lời

11

Có. Nếu bạn chọn dự án của bạn ở thanh bên trái, sau đó chọn Dự án của bạn trong Dự án ở thanh bên trái và chọn Thông tin trên thanh bên trên, bạn sẽ thấy phần có nhãn Cấu hình. Bạn có thể cấu hình ở đây.

Sau đó chọn Mục tiêu của bạn trên thanh bên trái và chọn Cài đặt xây dựng trên thanh trên cùng bên trong. Tìm kiếm "preproc" trong hộp tìm kiếm. Trong phần LLVM của Apple - Phần tiền xử lý, bạn có thể thêm các Macro tiền xử lý tùy chỉnh. Đối với cấu hình của bạn, xác định một cái gì đó như "DEV = 1", vv

Bây giờ trong mã của bạn, bạn có thể nói #if DEV vv

Nhiều dự án sử dụng AFNetworking để nói chuyện với back-end của họ. Bạn có thể đặt baseURL cho lớp con AFHTTPSessionManager hoặc bất kỳ thứ gì, dựa trên các định nghĩa.

+1

Có nhiều cách khác để thực hiện việc này, nhưng tất cả chúng đều dựa trên Cấu hình. –

+0

Vì vậy, nếu tôi có 3 môi trường tôi muốn hỗ trợ (dev, qa và prod), tôi sẽ cần 6 cấu hình xây dựng để hỗ trợ gỡ lỗi/phát hành cho mỗi môi trường. Đúng? – Joe

+0

Có. Nhưng bạn có thực sự cần phát hành cho dev không? Và qa? –

Các vấn đề liên quan