升级到 Swift4.1 和 Xcode 9.3 后,我收到上述运行时消息。在升级之前,我的控制台窗口中没有此消息。
状态栏找不到缓存的时间字符串图像。正在渲染。
只要我运行应用程序,每隔几分钟就会出现一次。
它在我看来没有负面影响,我的应用程序像往常一样运行,我没有看到任何问题。
我使用标准的状态栏,没有改变以任何方式修改它。
问题 1:在我尚未遇到的情况下,是否会出现源自此警告的问题?
问题2:有谁知道我怎样才能摆脱这个警告?
更新:在 Xcode 9.4.1 (9F2000)中未
修复
更新:在 Xcode 10 (10A255)中未
修复
更新:在 Xcode 11 测试版中未修复
我认为您可以放心地忽略它。新版本的 iOS/macOS 有时包含信息调试消息,它们通常会在下一个版本中被删除。
同样的问题也发生在我身上。为了克服这个,我做了这个
转到目标 -> 部署信息 -> 未选中“隐藏状态栏”
这个解决了我的问题。对我来说,这是“部署信息”设置。
就我而言,它隐藏了导航
self.navigationController?.isNavigationBarHidden = false
当您隐藏导航栏时,它也会隐藏状态栏!只需使用
self.navigationController?.navigationBar.isHidden = true
反而。您将恢复状态栏。
我也看到了这个警告,在回答问题 1 时,我也看到了与之相关的可能非常讨厌的行为。
运行类似于基本示例动画三角形金属应用程序的东西,但使用
renderPassDescriptor.colorAttachments[0].loadAction = .load
这样该帧就不会在每一帧都被清除。似乎正在发生的事情是,每隔一次记录警告消息时,iOS 也会对其图形状态管理的某些部分感到困惑,因此我目睹了图像部分的剧烈闪烁(然后稍后又消失了)。
我不确定这种情况在“真实”应用程序中出现的可能性有多大,但绝对不是您希望用户最终看到的东西。
到目前为止,我还没有解决这个问题;“隐藏状态栏”和“需要全屏”设置无济于事。
根据解决问题 1 的 PeterT 回答来回答问题 2:不仅您无法摆脱此警告,而且您也不能摆脱,因为这意味着潜在的问题是任何问题,但都是良性的。至少在某些场景中。
这也意味着 DEC 现场马戏团工程师为项目更换元信息中平坦的轮子会让你看起来像一个小丑。
通过检查Target-> Deployment Info中的“需要全屏”,我能够摆脱这个警告。
选中此选项可能会在 iPad 中产生一些副作用,因此您应该牢记这一点。