如何对 ios 控制台上打印的“忽略无效的 setDrawableSize”发出禁止令

问题描述 投票:0回答:1

那是什么:

CAMetalLayer 忽略无效的 setDrawableSize 宽度=0.000000 高度=0.000000

如何阻止它溢出到我的控制台?

看不到任何东西。这不是直接使用金属的应用程序 虽然我不确定洛蒂和其他人的情况。 CoreAnimation 应该是充足的 对于那个固件,但谁知道呢。

ios core-graphics
1个回答
0
投票

表明您的应用程序或您的应用程序使用的库之一(如 Lottie 或其他库)中的某些内容正在尝试将 CAMetalLayer 的可绘制大小设置为 (0,0),这是无效的。

您可以采取一些步骤来识别并可能解决问题:

识别来源:在隐藏日志之前,尝试确定触发日志的原因。它可能是一个 UI 组件暂时设置为零大小,可能是在布局调整、动画或过渡期间。

Lottie:如果您使用 Lottie,请确保您拥有最新版本的库。有时,库维护人员会在新版本中修复此类问题。

解决方法:作为临时措施,您可以从 Xcode 控制台过滤掉此特定警告以查看其他日志:

打开方案编辑器(产品 > 方案 > 编辑方案或 ⌘<) Go to the "Run" phase on the left Under the "Info" tab, find the "Environment Variables" section Add the variable OS_ACTIVITY_MODE and set its value to disable. This will stop all the OS-related logs, but it's only a workaround. It's important to know that using this approach will filter out all system logs, so only use it temporarily until you solve the actual issue.

检查第三方库:如果您使用任何可能与 Metal 或 Core Animation 交互的第三方库,请调查其中是否已知会导致此类日志。您可能想查看这些库是否有可用的更新,或者是否存在与此警告相关的未解决问题。

回退到 OpenGL:如果您发现某个特定组件或库导致 Metal 出现此问题,并且无法找到直接修复方法,请检查是否有选项可将渲染器从 Metal 切换到 OpenGL(如果适用且可用)。例如,iOS 上的 Lottie 默认使用 Metal,但可以设置为使用 OpenGL。

联系库作者:如果第三方库是原因,并且您找不到解决方案,请考虑联系该库的维护者或检查该库的 GitHub 问题,看看其他人是否也遇到过类似的问题。

最好解决此类警告的根本原因,而不是仅仅抑制它们。该警告表明图层设置或使用可能不太正确,虽然它可能不会立即导致问题,但通常最好了解为什么会发生这种情况。

© www.soinside.com 2019 - 2024. All rights reserved.