首页 > 解决方案 > 如何在 IOS13 中找到这个与字体相关的 coretext 警告的来源?

问题描述

在更新我的应用程序时,我注意到在 IOS13 上的 Xcode 11.2 中运行应用程序时,我在日志中收到大量警告。

CoreText 注意:客户端请求的名称“.SFUI-Regular”,它将获得 TimesNewRomanPSMT 而不是预期的字体。所有系统 UI 字体访问都应通过适当的 API,例如 CTFontCreateUIFontForLanguage() 或 +[UIFont systemFontOfSize:]。

我挖了一下,发现了 WWDC 的这句话:

正如许多 WWDC 会议中所提到的,不能直接使用带点前缀的字体名称。

我自己几乎完全使用 IB 和 nibs 来设置文本字段等的字体,并且在我的代码中的任何地方都没有提到“SFUI-Regular”,所以我不确定如何找到这些警告的实际原因(我有日志中有 20-30 行这样的内容)。

有没有人对我如何找到警告的来源以及如何解决它有任何提示?

标签: iosobjective-cswiftxcodecore-text

解决方案


控制台还有一个输出,可以尝试添加符号断点

CoreText 注释:在 CTFontLogSystemFontNameRequest 上设置断点进行调试。


推荐阅读