Trong một ứng dụng Cocoa, tôi muốn sử dụng biên soạn có điều kiện, như:biên soạn có điều kiện sử dụng MACOSX_DEPLOYMENT_TARGET trong Xcode cho một ứng dụng Cocoa
#if MACOSX_DEPLOYMENT_TARGET <= MAC_OS_X_VERSION_10_4
[[NSFileManager defaultManager] removeFileAtPath:path handler:nil];
#else
[[NSFileManager defaultManager] removeItemAtPath:path error:NULL];
#endif
Hy vọng của tôi là điều này sẽ tránh được cảnh báo trình biên dịch về removeFileAtPath: bị phản đối khi MACOSX_DEPLOYMENT_TARGET = 10.6, vì nó không được biên dịch dòng đó.
Nó không hoạt động.
Khi MACOSX_DEPLOYMENT_TARGET = 10.6 Tôi nhận được cảnh báo rằng removeFileAtPath: không được chấp nhận. Nhưng nó không nên biên dịch dòng đó, vì vậy nó không nên cảnh báo về nó có một phương pháp không được chấp nhận!
(Tôi đang thiết MACOSX_DEPLOYMENT_TARGET cả các thiết lập dự án xây dựng và mục tiêu xây dựng các thiết lập. Tôi đã BASE_SDK thiết lập để 10,6 và chỉ định GCC 4.2 trong cả hai, quá.)
Tôi đang làm gì sai? Tôi có một số hiểu lầm cơ bản về việc biên dịch có điều kiện không?
Hoàn hảo! Cảm ơn nhiều. – user532477