Dự án Xcode iOS hiện tại của tôi sử dụng một số thư viện tĩnh. Các mô-đun mã khác nhau trong các thư viện tĩnh có các mức gỡ rối khác nhau mà tôi có thể bật/tắt với #defines từ bên trong mô-đun đó.Biến môi trường Xcode cho các dự án con
Những gì tôi muốn làm là có tất cả các gỡ lỗi mặc định tắt trong thư viện sau đó đặt mức gỡ lỗi từ dự án mẹ. Tôi muốn làm điều này vì vậy bất kỳ proj sử dụng lib phải bật một cách rõ ràng gỡ lỗi.
Vì vậy, MainProj sử dụng myLib1 và myLib2 vv Trong myLib1 là một mô-đun được gọi là fooModule. fooModule có mã debug như:
#if FOOMODULE_DEBUG_LEVEL > 0
//debug code, console logs etc
#endif
Tôi muốn để có thể xác định FOOMODULE_DEBUG_LEVEL trong dự án cha mẹ nên thư viện nhặt nó lên ở thời gian xây dựng và biên dịch một cách thích hợp.
Tôi đã thử:
#define FOOMODULE_DEBUG_LEVEL 1
trong dự án chính .pch và tôi đã cố gắng thêm FOOMODULE_DEBUG_LEVEL như một người dùng định nghĩa biến môi trường với giá trị là 1. Cả trong số đó được chọn của các tiểu dự án lib.
Có cách nào để làm điều này hoặc tôi đang tiếp cận điều này theo cách sai?
Xin chào Mattias, Thêm macro tiền xử lý dường như không ảnh hưởng đến việc xây dựng các dự án phụ (tức là lib tĩnh) mà tôi đã đưa vào dự án chính – tomj
Điều này không hiển thị trong thư viện tĩnh. Bạn có thể cho tôi biết điều gì có thể là lý do? – applefreak
Bạn xây dựng một thư viện tĩnh hoặc liên kết của bạn với một thư viện tĩnh đã được xây dựng? -D macro chỉ được sử dụng tại thời gian biên dịch. –