问题:最近遇到了一些奇怪的现象,在开发iOS项目时,观察到每隔一段时间Xcode控制台打印Status bar could not find cached time string image. Rendering in-process.
如下图所示:
![](https://img.haomeiwen.com/i9142468/c17dc2ac0a541d41.png)
看起来对程序的运行没有什么影响,但是调试起来,控制台输出一些无用的信息,很是不爽。
原因:通过多方Google,发现是Xcode的bug,从Xcode 9.3开始就出现此现象,我的是Xcode 9.4也出现,Apple没有修复此bug(网友发现Xcode 10.1该问题仍然存在)。
根源:状态栏在进程渲染无法找到缓存的问题(不明白是什么意思)。
解决:
- 方法1:
Target
->Deployment Info
-> 勾选Hide status bar
方法1.png
但是此方法在我这还是行不通,还是另寻方法。
- 方法2:
Product
->Scheme
->Edit Scheme
->Run
->Arguments
->Environment Variables
中添加OS_ACTIVITY_MODE
字段,值为Disable
。
方法2.1.png
![](https://img.haomeiwen.com/i9142468/2f9d661f32bad222.png)
此方法完美地解决我的问题。
后续
注意:在真机调试的时候,如果
OS_ACTIVITY_MODE
选项被勾选上的时候,NSLog
的打印调试信息不显示在控制台上。此问题是无解问题!
网友评论