Skip to content

iPadOS 26.x floating numeric keyboard crash may be related to default AutoToolbar and _UIRemoteKeyboardPlaceholderView #2181

Description

@niguang2233939

Describe the bug

We observed an intermittent crash on iPadOS 26.x when using IQKeyboardManager 6.5.19 with numeric/phone input fields.

The crash happens while switching from a phone number field to a verification code field. The exception is thrown by UIKit constraint activation:

NSGenericException
Unable to activate constraint with anchors <UIView.top> and <_UIRemoteKeyboardPlaceholderView.bottom> because they have no common ancestor.

This seems related to the iPad floating numeric keyboard / keyboard placeholder view. In one user video, the keyboard was partially dismissed while the IQKeyboardManager toolbar was still visible. If the user tapped the toolbar Done button first, the login flow could continue normally.

We cannot prove IQKeyboardManager is the root cause, but the issue appears to be triggered or amplified when IQKeyboardManager's AutoToolbar is involved.

To Reproduce

The issue is intermittent and we have not been able to reproduce it consistently on our own devices.

Observed user flow:

  1. Open a login/register screen on iPad.
  2. Tap a phone number text field using UIKeyboardTypePhonePad / numeric keyboard.
  3. Tap "Send verification code".
  4. Tap the verification code input field.
  5. App crashes with the UIKit constraint exception.

Observed condition:

  • iPad floating numeric keyboard is involved.
  • IQKeyboardManager AutoToolbar may remain visible while the keyboard is partially dismissed.
  • Tapping the IQKeyboardManager toolbar Done button before continuing avoids the crash in the user video.

Expected behavior

Switching between numeric text fields should not crash. IQKeyboardManager should not leave UIKit keyboard placeholder/toolbar state in a hierarchy that can trigger a constraint activation exception.

Screenshots

We can provide crash screenshots/log screenshots if needed.

Demo Project

No minimal demo project yet. The issue is intermittent and currently only reproduced in production user reports.

Versions

Xcode: 26.3
iOS/iPadOS: iPadOS 26.3 / 26.5
Device: iPad mini 6th generation, iPad models on iPadOS 26.x
Library Version: IQKeyboardManager 6.5.19

Additional context

Crash signature:

#44002 NSGenericException
Unable to activate constraint with anchors <NSLayoutYAxisAnchor:0x14e27cd40 "UIView:0x14e34ddc0.top"> and <NSLayoutYAxisAnchor:0x14eda0440 "_UIRemoteKeyboardPlaceholderView:0x14ed7ca00.bottom"> because they have no common ancestor. Does the constraint or its anchors reference items in different view hierarchies? That's illegal.

CoreFoundation __exceptionPreprocess

0 CoreFoundation
__exceptionPreprocess + 164
1 libobjc.A.dylib
objc_exception_throw + 88
2 CoreAutoLayout
0x00000001e726a000 + 9896
3 CoreAutoLayout
0x00000001e726a000 + 38376
4 CoreAutoLayout
0x00000001e726a000 + 14924
5 CoreAutoLayout
0x00000001e726a000 + 35908
6 UIKitCore
-[UIInputWindowControllerHostingItem updateViewConstraints] + 8268
7 UIKitCore
-[UIInputWindowController updateSupportsDockViewController] + 300
8 UIKitCore
-[UIKeyboardImpl didMoveToWindow] + 140
9 UIKitCore
-[UIView(Internal) _didMoveFromWindow:toWindow:] + 1936
10 UIKitCore
-[UIView(Internal) _didMoveFromWindow:toWindow:] + 716
11 UIKitCore
-[UIView(Internal) _didMoveFromWindow:toWindow:] + 716
12 UIKitCore
__45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke + 132
13 CoreAutoLayout
0x00000001e726a000 + 14924
14 UIKitCore
-[UIView _postMovedFromSuperview:] + 528
15 UIKitCore
-[UIView(Internal) _addSubview:positioned:relativeTo:] + 2324
16 UIKitCore
-[UIInputWindowControllerHostingItem setInputView:] + 176
17 UIKitCore
-[UIInputWindowControllerHosting setInputSetView:forType:] + 260
18 UIKitCore
-[UIInputWindowController changeToInputViewSet:] + 976
19 UIKitCore
__43-[UIInputWindowController setInputViewSet:]_block_invoke + 44

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions