草庐IT

iphone - 在设备上运行时 NSLog 信息会发生什么变化?

在设备上运行时NSLog信息会发生什么变化?文本去哪儿了?它得救了吗?因此,在设备上运行时会产生很大的开销,还是会有效地发送到null? 最佳答案 自Xcode6起,设备管理器Pane已拆分为自己的窗口。(窗口>设备,或Command-Shift-2。)在那里,选择您的设备,然后通过单击窗口底部边栏右侧的显示三角形来显示其日志。 关于iphone-在设备上运行时NSLog信息会发生什么变化?,我们在StackOverflow上找到一个类似的问题: https:

ios - 有什么方法可以用 NSLog 进行彩色打印吗?

在典型的彩色终端中,有一些转义序列可以用来打印不同颜色的文本。通常有8种颜色可供选择。我尝试在NSLog中为此使用标准的ANSI转义序列,但没有成功。它不支持该机制。是否有其他方法可以使用NSLog以彩色方式打印到控制台(日志)?谢谢。 最佳答案 您可以使用AppleColorEmoji像这样为您的日志输出添加一些颜色:if([selfisKindOfClass:[UITableViewControllerclass]])NSLog(@"?TableViewcontrollerWillappear:%@",NSStringFromC

ios - 如何使用 NSLog 调试 iOS 8 扩展?

-(void)viewDidLoad{NSLog(@"%s",__func__);//...}在iOS8扩展的viewDidLoad中。NSLog在Xcode中不输出任何内容。NSLog虽然在容器应用程序中照常工作。如何从扩展程序的调试消息中获取输出? 最佳答案 调试适用于应用程序扩展。它也适用于模拟器。如果您的应用程序分机在模拟器中崩溃,您可能会发现重新启动您的应用程序分机并不容易。重新启动模拟器是一个快速的解决方案。调试应用扩展的步骤:运行容器应用程序。在这一步中,Xcode将容器应用程序和应用程序扩展上传到设备或模拟器。停止容

iOS 10 不打印 NSLogs

Xcode8.0beta(8S128d)上的NSLog不打印任何内容。printf不变这是我的代码:NSLog(@"hellofromNSLog");printf("hellofromprintf");这是iOS9模拟器上的输出:2016-06-1709:49:10.887calmapp-dev[28517:567025]hellofromNSLoghellofromprintf这是iOS10模拟器上的输出:hellofromprintf 最佳答案 可能是您在Scheme环境变量中添加了属性"OS_ACTIVITY_MODE":"d

ios - 我需要在发布应用程序之前禁用 NSLog 吗?

发布iPhone应用时,如果我禁用NSLog();,它的性能会更好吗? 最佳答案 一种方法是进入您的build设置并在调试配置下向“预处理器宏”值添加一个值,例如:DEBUG_MODE=1确保只对调试配置执行此操作,而不是测试版或发行版。然后在一个通用的头文件中你可以做这样的事情:#ifdefDEBUG_MODE#defineDLog(s,...)NSLog(@"%@",self,[[NSStringstringWithUTF8String:__FILE__]lastPathComponent],__LINE__,[NSString

swift - 为什么我的 Safari App Extension NSLog 消息没有显示在 Xcode 的控制台中?

我正在关注Apple’sguideforcreatingaSafariAppExtension.简而言之,我已经:使用Cocoa应用程序模板创建了一个新的Xcode项目(在Xcode8.1中,在macOS10.12Sierra上)使用Safari扩展模板在应用中创建了一个新目标运行应用一次,以确保构建了Safari应用扩展在Safari的“开发”菜单中选择“允许未签名的扩展”选项在Safari的“扩展”首选项面板中启用扩展扩展的工具栏按钮出现在Safari中。Apple的指南说我应该在单击工具栏按钮时在控制台中看到NSLog消息,但我什么也没看到。我编辑了SafariExtension

ios - 在 Swift 项目中为生产禁用 NSLog

所以这个答案DoIneedtodisableNSLogbeforereleaseApplication?提供了一种在生产环境中禁用NSLog的好方法,但不幸的是,这种解决方案似乎不适用于Swift项目。我的方法是将以下代码放在桥接header.h文件中,我正在为项目中的某些pod使用该文件。#ifdefDEBUG#defineDLog(...)NSLog(@"%s%@",__PRETTY_FUNCTION__,[NSStringstringWithFormat:__VA_ARGS__])#else#defineDLog(...)do{}while(0)#endif但是,在Swift代码

swift - 是否有 NSLog( @"%s", __PRETTY_FUNCTION__) 的 Swift 替代品

在ObjectiveC中,您可以记录正在调用的方法:NSLog(@"%s",__PRETTY_FUNCTION__)通常这是从日志记录宏中使用的。尽管Swift不支持宏(我认为),但我仍然希望使用包含被调用函数名称的通用日志语句。这在Swift中可能吗?更新:我现在使用这个全局函数进行日志记录,可以在这里找到:https://github.com/evermeer/Stuff#print您可以使用以下方式安装:pod'Stuff/Print'代码如下:publicclassStuff{publicenumlogLevel:Int{caseinfo=1casedebug=2casewar

objective-c - 将实例 ID 打印到 NSLog?

在一个类的dealloc方法中,我将如何打印出被释放实例的ID(或其他一些唯一标识符)?-(void)dealloc{NSLog(@"_deallocing:??");[superdealloc];}这可能吗?我只是想在控制台中获得更多反馈,以帮助学习。非常感谢-gary- 最佳答案 如果你特别想要对象的内存地址(如果你的类中没有实现,我想它可以被认为是一个“标识符”),你可以使用这个:NSLog(@"deallocing%p",self);如果您有多个特定类的实例并试图确定哪个实例在何时被释放,这会很有帮助。

ios - 为什么 Swift 中的 print() 不会在 Objective-C 中将时间戳记录为 NSLog

当我使用NSLog()时,从ObjectiveC的背景开始,它会在文本前面加上日期时间戳,但是当我在Swift上使用print()时,它只会打印文字所以有办法让它也打印时间戳,还是我做错了什么? 最佳答案 因为print不是NSLog。就这么简单。NSLog是Foundation中的一个日志记录工具,它写入出现在控制台上的AppleSystemLog工具。print(…)是Swift标准库中的一个打印函数,它写入标准输出,在调试session中显示在控制台上。您可以将Date()添加到您的print参数中以打印当前时间和日期。(或D