我正在与另一位程序员合作编写一些代码。他用C语言编写了一个解码算法,并为我提供了一个Objective-c类作为包装器,以避免我必须处理对他的代码的调用。他的.h文件是这样的#import#import"decode_audio_data.h"@interfaceDecoderWrapper:UIViewController{uint32_tnumberOfDecodedData;uint32_tdecodedData[MAX_DECODED_DATA_SIZE];}-(void)feedData:(int16_t[])data;-(uint32_t)numberOfDecodedDa
因为NSLog语句会降低应用程序的速度,所以在发布之前删除它们似乎是明智的。数量olderanswersonSO回到2010年,建议在pch文件中放入一些代码,例如:#ifndefDEBUG#defineNSLog(...);#endif但是,Xcode不再自动创建pch文件。我认为可以手动创建一个pch文件,但这似乎有点麻烦。手动创建pch文件并向其中添加上述代码是否仍然是在发布之前注释掉NSLog语句的推荐方法,还是有更现代的方法? 最佳答案 我找到的所有旧答案(包括添加PCH文件)都不适用于Swift。这是最终对我有用的东西:
您好,我的应用程序中正在进行大量计算,因为我有一个11MB的大型应用程序调用了至少2000倍的NSLog语句。我正在考虑从我的应用程序中删除它以提高性能。我以正确的方式思考? 最佳答案 是的,当调试器运行并发出NSLog调用时,性能会受到严重影响。另外,查看this问题。 关于ios-NSLog对应用程序性能有影响吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1464783
我想将代码中的任何NSLog都视为错误。该行应该是Xcode中的编译时错误。就像在启用ARC的项目中使用release被视为错误一样。 最佳答案 试试这个,#defineNSLog_UNAVAILABLE__attribute__((unavailable("NSLogistreatedasError.")))FOUNDATION_EXPORTvoidNSLog(NSString*format,...)NS_FORMAT_FUNCTION(1,2)NSLog_UNAVAILABLE; 关
我想像我们在C语言中使用clrscr()一样,通过编码清除consol中的日志我正在开发一个基于导航的应用程序,这个应用程序有太多由NSLog生成的日志。当我觉得代码到目前为止运行良好时,我想清除日志。我从thisquestion得到了解决方案但是这个解决方案在日志中添加了\n并且我想完全清除它所以如果你有任何其他解决方案请与我分享。提前致谢,我正在等待您的帮助。 最佳答案 我认为不可能从应用程序内部清除控制台。但是,如果您在XCode中进行开发,只需单击控制台输出窗口并按cmdk-这将清除所有回滚...或者-只需禁用日志记录/将n
我得到了一个项目文件,打开它后我注意到NSLog没有打印到控制台。我试过shift+command+c但没用。奇怪的是,如果我打开任何其他项目,它们仍然可以打印到控制台。但是这个没有。这是一个xcode设置吗?如果是这样,为什么只有这个项目受到影响?我该如何修复它? 最佳答案 1)较新的帮助尝试确保从NSLog中打印出一切。您可以在控制台窗口中设置一个开关:2)最初的帮助尝试尝试在代码的顶部执行“#undefNSLog”,看看“NSLog”是否再次起作用。如果是这样,那么Dave是正确的...您需要搜索您的代码以查看在哪里重新定义了
如何从当前的ViewController类名生成NSLog?-(void)applicationWillResignActive:(UIApplication*)application{NSLog(self.window.rootViewController.class);} 最佳答案 试试这个:NSLog(@"%@",NSStringFromClass(self.window.rootViewController.class)); 关于iphone-来自AppDelegate.m的当前
我正在使用一个我没有源代码的预编译库,它正在打印大量调试日志。是否可以仅隐藏特定库的输出? 最佳答案 没有。NSLog将其输出直接写入标准错误而不检查是否应该。调用该函数后,将写入输出。也许您正在使用该库的调试版本。与创建它的人核实,看看是否存在或他们愿意创建无日志版本。如果你不能在没有日志记录的情况下获得库的版本,你可以将你的标准错误重定向到/dev/null,这将导致NSLog输出被丢弃系统。请注意,这需要您处理低级文件描述符,并且您将丢弃所有日志记录的输出,而不仅仅是那个库。您可以通过仅在调用库函数时进行重定向来最大程度地减少
我读了这篇文章:http://weakreference.wordpress.com/2011/06/22/overriding-nslog-on-ios/.这篇文章的想法是将这两个东西添加到您的应用程序的prefix.pch文件中,以便您可以覆盖NSLog的行为。我要添加的两件事是:#defineNSLog(...)customLogger(__VA_ARGS__);和voidcustomLogger(NSString*format,...){va_listargumentList;va_start(argumentList,format);NSMutableString*messa
我的应用程序使用Social.framework和ACAccount从Facebook导入点赞。我将Facebook帐户标识符保存到NSUserDefaults,以便该应用程序可以在后续启动时自动导入新的点赞。第一次导入工作正常。问题在于在后续启动时重新实例化ACAccount。所以我有一个看起来像这样的facebookAccountgetter:-(ACAccount*)facebookAccount{if(!_facebookAccount){ACAccountStore*accountStore=[[ACAccountStorealloc]init];NSString*accou