为什么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标准库的这么多噪音。为了隔离问题,我在一个只有一个视图控制器和没有外部库甚至任何应用程序代码的基础项目中重现了这个问题。
另外还有一个问题,当用户在“密码”字段中输入数据时,建议使用“用户名”之类的错误类型的内容。
我想向苹果报告,但这些错误浪费了我一天的大部分时间,现在我已经确认它们会发生在“空项目”中,所以我必须继续前进。从质量的角度来看,这有点令人震惊。它将影响我的用户,因为他们的打字速度会无缘无故地变慢或停止。
UIScrollView
也出现了问题。如果经常调用setContentOffset
,会抛出一个CALayerInvalidGeometry CALayer bounds contains NaN
的错误。但我从未传递此类值到任何地方。即使我避免传递零,它仍然崩溃。所以我只需要更改使用scrollRectToVisible
来防止再次发生此问题。我甚至不知道如何将CALayer
边界设置为UIScrollView
。 - Kimi Chiu