为什么 UITextfield 在控制台中抛出这么多错误?
[Assert] View <(null):0x0> does not conform to UITextInput protocol
Run Code Online (Sandbox Code Playgroud)
使用标准 UITextField 在 iOS 14(在物理设备上运行)上键入任何 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
Run Code Online (Sandbox Code Playgroud)
我还看到了其他几个错误,例如内置的键盘必须打破自己的约束才能显示自己,方向禁用的消息也会在用户打字时减慢文本输入速度
UITextfield 是在 iOS 14 中被破坏还是怎么回事?我从未见过如此可怕的噪音从 iOS 标准库进入控制台。为了隔离,我在一个基本项目中复制了这个,只有一个视图控制器,没有外部库,甚至没有任何应用程序代码。
哦,一个更多的宝石,建议文本字段的错误类型的内容。例如,当用户在“密码”字段中输入数据时建议使用“用户名”。
我会向苹果报告,但这些错误浪费了我一天的大部分时间,现在我已经确认它们发生在“空项目”中,我必须继续前进。从质量的角度来看,它有点令人震惊。它会影响我的用户,因为他们的打字速度会减慢或无缘无故停止。
小智 1
我发现苹果的一个问题很有趣。如果您的视图控制器的类名中包含“New”,则会发生上述问题。例如,您的视图控制器的名称是NewOnboardingViewController或SocialNewViewController。因此,忽略上述问题的最佳方法是替换“New”
| 归档时间: |
|
| 查看次数: |
4247 次 |
| 最近记录: |