Tyl*_*fer 88 xcode nslog ios ios10 xcode8
NSLogXcode 8.0 beta(8S128d)上没有打印任何内容.printf没有改变
这是我的代码:
NSLog(@"hello from NSLog");
printf("hello from printf");
Run Code Online (Sandbox Code Playgroud)
这是iOS 9模拟器上的输出:
2016-06-17 09:49:10.887 calmapp-dev[28517:567025] hello from NSLog
hello from printf
Run Code Online (Sandbox Code Playgroud)
这是iOS 10 Simulator上的输出:
hello from printf
Run Code Online (Sandbox Code Playgroud)
小智 227
可能是您在Scheme环境变量中添加了属性"OS_ACTIVITY_MODE":"disable"(隐藏模拟器的OS输出)并忘记了它,现在正在真实设备上运行.
在Xcode 8中:
Product -> Scheme -> Edit Scheme -> Run -> Arguments -> Environment Variables
Run Code Online (Sandbox Code Playgroud)
只添加OS_ACTIVITY_MODE并检查它(不要添加值)
简介:这是Xcode 8 + iOS10的一个bug,我们可以用这种方式解决它:
使用模拟器时,添加名称"OS_ACTIVITY_MODE"和值"禁用"并检查它.
在真实设备上时,只需添加"OS_ACTIVITY_MODE"并进行检查(不要添加值).您将在Xcode8控制台中看到NSLog.
Luc*_*cas 27
如果您查看Xcode 8 beta发行说明,您会发现它说:
调试在Simulator上运行的应用程序时,控制台中可能看不到日志.解决方法:在Simulator.app中使用命令+ /在Console应用程序中打开系统日志以查看NSLog.(26457535)
Mil*_*iuM 18
实际上是执行了NSlog或打印但是隐藏在许多其他控制台调试输出中以解决此问题Open Xcode8:
Product -> Scheme -> Edit Scheme -> Run -> Arguments -> Environment Variables
Run Code Online (Sandbox Code Playgroud)
添加"OS_ACTIVITY_MODE"并将值设置为"禁用"并进行检查.
点击关闭
xcode9
添加"OS_ACTIVITY_MODE"并将值设置为"默认"并进行检查.
我无法在真正的iOS 10设备中看到NSLog输出.如果您使用的是真实设备,则可以从Xcode(Shift + Command + 2)打开设备窗口并查看设备日志,但很难查看应用程序的日志,因为控制台显示来自系统和所有应用程序的日志.
(我正在使用Xcode 7,所以它可能不是Xcode的问题,但iOS 10问题)
此外,确保控制台在Xcode中实际可见(即,确保右侧图标以蓝色突出显示,如下图所示).升级Xcode后,它隐藏了Console并向我展示了Variables视图.这使它看起来NSLog()没有正常工作,而它确实工作正常,我只是看不到输出.
对于将来遇到此问题的任何人。NSLog 在 iOS 10 和 iOS 11 中没有打印到系统日志的原因是由于 Apple 更改为统一日志记录。
你可以在这里看到 WWDC 谈论它:https : //developer.apple.com/videos/play/wwdc2016/721/
此处的文档:https : //developer.apple.com/documentation/os/logging
从 10 开始,您应该使用 os_log 而不是 NSLog。
如何在磁盘上查找日志:https : //www.blackbagtech.com/blog/2017/09/22/accessing-unified-logs-image/
总而言之,日志所在的位置/var/db/diagnostics可以在以下位置找到 VM/Users/USERNAME/Library/Developer/CoreSimulator/Devices/SIMULATOR-GUID/data/var/db/
副本中的所有项目diagnostics,并uuidtext到一个文件夹(不包括文件夹诊断或uuidtext只是里面是什么)。
重命名该文件夹foldername.xarchive。
在 Console.app 中打开它或使用 OSX util log:log show <path to archive> --info --predicate <options>
| 归档时间: |
|
| 查看次数: |
47795 次 |
| 最近记录: |