Tôi đã tìm kiếm xa và rộng cho một câu trả lời này bởi vì tôi thực sự không thích ý tưởng tạo ra các mục tiêu bổ sung cũng như các tập cấu hình phụ bổ sung. Cả hai tùy chọn này chỉ tạo ra một vấn đề đồng bộ hóa cấu hình lớn.
Vì vậy, sau khi hack Xcode cho một vài giờ, đây là những gì tôi đã đưa ra:
Bước 1: Thêm phím "SchemeName" để Info.plist của bạn với kiểu string.
Bước 2: Chỉnh sửa chương trình mặc định của bạn và trên Build -> Pre-hành động thêm một mới Run Script như sau:
/usr/libexec/PlistBuddy -c "Set :SchemeName \"$SCHEME_NAME\"" "$PROJECT_DIR/$INFOPLIST_FILE"
Hãy chắc chắn và chọn một mục tiêu từ dưới "Cung cấp build cài đặt từ ".
Bước 3: Bây giờ trùng lặp rằng chương trình như nhiều lần như bạn muốn (Quản lý Đề án ... -> Chọn chương trình hiện có -> Nhấn vào biểu tượng bánh răng -> Duplicate) Ví dụ, bạn có thể tạo Phát triển, Staging , Sản xuất, Cửa hàng ứng dụng, v.v. Đừng quên nhấp vào "được chia sẻ" nếu bạn muốn các lược đồ này được thực hiện trong điều khiển phiên bản.
Bước 4: Trong đoạn code, bạn có thể lấy giá trị như thế này:
NSString *schemeName = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"SchemeName"];
Bây giờ, các mã có thể cấu hình riêng của mình một cách chính xác khi chạy. Không có macro tiền xử lý khó chịu để xử lý và không có cấu hình giòn để duy trì.
Nguồn
2014-10-17 21:22:32
ah, tôi không biết điều đó, thx cho phản hồi cực nhanh :) – user390687
Vâng, thực hiện việc này bằng cách sử dụng ** Cấu hình xây dựng ** có khả năng tốt hơn so với suy ra nó thông qua Đề án, vì cấu hình xây dựng cũng ảnh hưởng đến rất nhiều xây dựng cài đặt. –