Overview
Version 8.0 represents a major architectural shift where IQKeyboardManager has been split into smaller, focused libraries. This modular approach gives you more control over which features you include in your app.Keyboard Toolbar Changes
The most significant change in v8 is thatIQKeyboardManager.shared.enableAutoToolbar now defaults to false. The toolbar functionality has been moved to the IQKeyboardToolbarManager library.
Solution 1: Re-enable in IQKeyboardManager
If you want to keep using the toolbar with minimal changes:Solution 2: Use IQKeyboardToolbarManager Directly
For better modularity and control, use the new dedicated library:Features Moved to Independent Libraries
Many features have been extracted into their own libraries for better modularity:IQKeyboardToolbarManager
IQKeyboardToolbarManager
IQKeyboardNotification (formerly IQKeyboardListener)
IQKeyboardNotification (formerly IQKeyboardListener)
IQTextInputViewNotification (formerly IQTextFieldViewListener)
IQTextInputViewNotification (formerly IQTextFieldViewListener)
IQKeyboardReturnManager (formerly IQReturnKeyHandler)
IQKeyboardReturnManager (formerly IQReturnKeyHandler)
IQKeyboardToolbar (formerly IQToolbar)
IQKeyboardToolbar (formerly IQToolbar)
IQTextView
IQTextView
API Changes: IQKeyboardToolbarManager
If you’re using toolbar features, here are the key API migrations:Properties Moved
UITextField/UITextView Extensions
API Changes: IQKeyboardToolbar
Classes and configuration types have been renamed:Toolbar Extension Methods
Class Name Changes
IQPreviousNextView → IQDeepResponderContainerView
Open Storyboard/XIB
Select the View
IQPreviousNextViewUpdate Class Name
IQDeepResponderContainerViewUpdate Module
IQKeyboardToolbarManagerCocoaPods Subspecs
For easier migration, IQKeyboardManager v8 provides subspecs that automatically include the extracted libraries:Appearance Subspec
Keyboard appearance overriding has been moved to a subspec:Resign Subspec
Resign on touch outside functionality moved to a subspec:Migration Steps
Update Dependencies
Podfile or Package.swift to version 8.0+Install Dependencies
Enable Toolbar (if needed)
Update Interface Builder Files
IQPreviousNextView in your storyboards/XIBs and update to:- Class:
IQDeepResponderContainerView - Module:
IQKeyboardToolbarManager
Update Toolbar API Usage
.iq wrapper:Update Class References
IQKeyboardListener→IQKeyboardNotification(different library)IQTextFieldViewListener→IQTextInputViewNotification(different library)IQReturnKeyHandler→IQKeyboardReturnManager(different library)IQToolbar→IQKeyboardToolbar(different library)IQToolbarConfiguration→IQKeyboardToolbarConfiguration
Build and Test
- Build your project and fix any compilation errors
- Test keyboard behavior thoroughly
- Verify toolbar Previous/Next/Done buttons work
- Test resign on touch outside if you use it
Benefits of v8 Architecture
Smaller Binary Size
Better Modularity
Faster Compilation
Clearer Dependencies
Troubleshooting
Toolbar not showing
Toolbar not showing
Module 'IQKeyboardToolbarManager' not found
Module 'IQKeyboardToolbarManager' not found
IQPreviousNextView class not found in Interface Builder
IQPreviousNextView class not found in Interface Builder
IQDeepResponderContainerView with module IQKeyboardToolbarManagerProperty 'toolbar' not found on UITextField
Property 'toolbar' not found on UITextField
.iq wrapper:Need Help?
If you encounter issues during migration:- Check the GitHub Issues
- Review the individual library documentation
- Create a new issue with your specific problem