我想将NSLog
代码中的任何内容视为错误。该行应该是 Xcode 中的编译时错误。就像release
在启用 ARC 的项目中的使用如何被视为错误一样。
问问题
408 次
3 回答
3
尝试这个,
#define NSLog_UNAVAILABLE __attribute__((unavailable("NSLog is treated as Error.")))
FOUNDATION_EXPORT void NSLog(NSString *format, ...) NS_FORMAT_FUNCTION(1,2) NSLog_UNAVAILABLE;
于 2013-03-25T12:18:09.190 回答
1
NSLog
您可以在代码中重新声明原型__deprecated
,因此任何使用它都会产生警告:
FOUNDATION_EXPORT void NSLog(NSString *format, ...) NS_FORMAT_FUNCTION(1,2) __deprecated;
那么也许有一些方法可以将警告变成错误。
于 2013-03-25T11:55:29.140 回答
0
如果您使用 Clang 作为编译器,则可以使用它(实际上刚刚意识到 GCC_Static_assert
从 4.6 版开始也支持 C11):
#define NSLog(...) _Static_assert(0, "Not allowed to use NSLog!")
如果 a 失败,编译将_Static_assert
失败。
于 2013-03-25T12:10:24.220 回答