如何在iOS中禁用Xcode 5中的所有NSLog?
我有这么多的NSLog(@“.”);在xcode中打印值。因此,当我发布应用程序时,我想禁用Xcode中的所有NSLog,而不是执行//NSLog 我有两个问题如何在iOS中禁用Xcode 5中的所有NSLog?,ios,Ios,我有这么多的NSLog(@“.”);在xcode中打印值。因此,当我发布应用程序时,我想禁用Xcode中的所有NSLog,而不是执行//NSLog 我有两个问题 当我当时使用Nslog时,它会显示如下结果 2014-08-07 12:29:29.609 myapp_name[4694:70b] PHONENUMBER:1234567890 2014-08-07 12:29:29.611 myapp_name[4694:70b] USERNAME: myname 但我不喜欢这种类型的输出。我只
2014-08-07 12:29:29.609 myapp_name[4694:70b] PHONENUMBER:1234567890
2014-08-07 12:29:29.611 myapp_name[4694:70b] USERNAME: myname
PHONENUMBER:1234567890
USERNAME: myname
2.当我释放应用程序时,完全禁用NSLog。打开你的
.pch
文件
添加以下行
启用//隐藏所有NSLog
#ifndef _DEBUG
#define NSLog(format, ...)
#endif
/*
#ifndef _DEBUG
#define NSLog(format, ...)
#endif
*/
禁用//显示所有NSLog
#ifndef _DEBUG
#define NSLog(format, ...)
#endif
/*
#ifndef _DEBUG
#define NSLog(format, ...)
#endif
*/
打开
.pch
文件
添加以下行
启用//隐藏所有NSLog
#ifndef _DEBUG
#define NSLog(format, ...)
#endif
/*
#ifndef _DEBUG
#define NSLog(format, ...)
#endif
*/
禁用//显示所有NSLog
#ifndef _DEBUG
#define NSLog(format, ...)
#endif
/*
#ifndef _DEBUG
#define NSLog(format, ...)
#endif
*/
对于您的问题1,请遵循以下答案:
#ifdef DEBUG
#define NSLog(FORMAT, ...) fprintf(stderr,"%s\n", [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
#else
#define NSLog(...) {}
#endif
#ifndef NDEBUG
#define NSLog(...);
#endif
这仅用于显示像printf一样的输出,而不是像NSLog一样的输出----
对于您的问题2,请遵循以下答案:
#ifdef DEBUG
#define NSLog(FORMAT, ...) fprintf(stderr,"%s\n", [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
#else
#define NSLog(...) {}
#endif
#ifndef NDEBUG
#define NSLog(...);
#endif
它在xcode 5和iOS 7上也可以正常工作。:) 对于您的问题1,请遵循以下答案:
#ifdef DEBUG
#define NSLog(FORMAT, ...) fprintf(stderr,"%s\n", [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
#else
#define NSLog(...) {}
#endif
#ifndef NDEBUG
#define NSLog(...);
#endif
这仅用于显示像printf一样的输出,而不是像NSLog一样的输出----
对于您的问题2,请遵循以下答案:
#ifdef DEBUG
#define NSLog(FORMAT, ...) fprintf(stderr,"%s\n", [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
#else
#define NSLog(...) {}
#endif
#ifndef NDEBUG
#define NSLog(...);
#endif
它在xcode 5和iOS 7上也可以正常工作。:) 要完全禁用,请将
#define NSLog(…)
放在前缀.pchThanks@toasted_flakes中。如果要完全禁用,请将#define NSLog(…)
放在前缀中。pchThanks@toasted_flakes。它起作用了fine@SR Nayak它对live应用程序有效吗?或者它只适用于degudmode?所以上传时不需要从.pch中删除代码,对吗?我的意思是它不会产生任何问题。会发生什么:#ifdef DEBUG
=>“如果在调试配置中”#定义NSLog(…)
=>用右侧的任何(…)
参数替换NSLog
的所有实例。这意味着将NSLog的第一个参数粘贴为格式,其余参数进入###(u)VA(u)args(u)
@S R Nayak是否适用于live app?或者它只适用于degudmode?所以上传时不需要从.pch中删除代码,对吗?我的意思是它不会产生任何问题。会发生什么:#ifdef DEBUG
=>“如果在调试配置中”#定义NSLog(…)
=>用右侧的任何(…)
参数替换NSLog
的所有实例。这意味着将NSLog的第一个参数粘贴为FORMAT,其余参数进入##uu VA_uargs_u
。