UITextField在iOS 14中抛出各种错误

25

为什么UITextfield在控制台中会抛出这么多错误?

[Assert] View <(null):0x0> does not conform to UITextInput protocol
在 iOS 14 上(在实体设备上运行),使用标准的 UITextField,无论是否关闭所有自动更正并将 traits content type 设置为未指定,只要输入任何 UITextField,都会发生很多这些断言失败。当用户没有 iCloud 密钥链时,密码字段会抛出以下异常。(顺便说一句,当抛出此异常时,该错误会使用户的速度变慢,打字被打断)
[AutoFill] Cannot show Automatic Strong Passwords for app bundleID: com.testing.TestProject due to error: iCloud Keychain is disabled
[KBDAnalyticsLog] -[TIAnalyticsService _registerEventSpec:withCompletionHandler:]_block_invoke TIAnalyticsEventSpec with name 'thirdPartyKeyboards' is already registered.
[KBDAnalyticsLog] -[TIAnalyticsService _registerEventSpec:withCompletionHandler:]_block_invoke TIAnalyticsEventSpec with name 'thirdPartyKeyboards' is already registered.
API error: <_UIKBCompatInputView: 0x10520fd90; frame = (0 0; 0 0); layer = <CALayer: 0x283eb0e00>> returned 0 width, assuming UIViewNoIntrinsicMetric
API error: <_UIKBCompatInputView: 0x10520fd90; frame = (0 0; 0 0); layer = <CALayer: 0x283eb0e00>> returned 0 width, assuming UIViewNoIntrinsicMetric

我还看到了其他几个错误,比如内置键盘必须打破自己的约束条件才能显示,禁用方向的消息也会在用户输入时减慢文本输入速度。

UITextfield在iOS 14中是有问题吗?我从未见过来自iOS标准库的这么多噪音。为了隔离问题,我在一个只有一个视图控制器和没有外部库甚至任何应用程序代码的基础项目中重现了这个问题。

另外还有一个问题,当用户在“密码”字段中输入数据时,建议使用“用户名”之类的错误类型的内容。

我想向苹果报告,但这些错误浪费了我一天的大部分时间,现在我已经确认它们会发生在“空项目”中,所以我必须继续前进。从质量的角度来看,这有点令人震惊。它将影响我的用户,因为他们的打字速度会无缘无故地变慢或停止。


2
你能把测试项目发布到GitHub或类似的平台上吗?谢谢。我真的很想看看这个现象。请附上说明。我特别想看看你如何证明这会影响用户。 - matt
这里也有同样的问题。UIScrollView 也出现了问题。如果经常调用 setContentOffset,会抛出一个 CALayerInvalidGeometry CALayer bounds contains NaN 的错误。但我从未传递此类值到任何地方。即使我避免传递零,它仍然崩溃。所以我只需要更改使用 scrollRectToVisible 来防止再次发生此问题。我甚至不知道如何将 CALayer 边界设置为 UIScrollView - Kimi Chiu
不能确定,但是当我关闭了设置->通用->键盘中的一堆开关,比如自动大写和预测输入时,一些类似的错误消失了。 - MigMit
1
你可能会在这个帖子中找到答案 https://dev59.com/yVQJ5IYBdhLWcg3w8anH - Vova Kalinichenko
1个回答

1
我发现苹果有一个很有趣的问题。 如果您的视图控制器类名中包含“New”,则会出现上述问题。 例如,您的视图控制器名称为NewOnboardingViewControllerSocialNewViewController。 因此,忽略上述问题的最佳方法是替换“New”。

这太奇怪了! - Suryakant Sharma

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接