Skip to content

iOS won't build due to concurrency errors #1302

@chartungpatmos

Description

@chartungpatmos

Describe the bug
When attempting to build or archive the app in Xcode 26, the build fails due to 13 errors with react-native-keyboard-controller:

/Users/<redacted>/Repositories/<redacted>/node_modules/react-native-keyboard-controller/ios/interactive/KeyboardAreaExtender.swift:11:20 Static property 'shared' is not concurrency-safe because non-'Sendable' type 'KeyboardAreaExtender' may have shared mutable state

/Users/<redacted>/Repositories/<redacted>/node_modules/react-native-keyboard-controller/ios/interactive/KeyboardOffsetProvider.swift:12:27 Static property 'shared' is not concurrency-safe because non-'Sendable' type 'KeyboardOffsetProvider' may have shared mutable state

/Users/<redacted>/Repositories/<redacted>/node_modules/react-native-keyboard-controller/ios/observers/FocusedInputObserver.swift:12:5 Let 'noFocusedInputEvent' is not concurrency-safe because non-'Sendable' type '[String : Any]' may have shared mutable state

/Users/<redacted>/Repositories/<redacted>/node_modules/react-native-keyboard-controller/ios/observers/FocusedInputObserver.swift:214:45 Cannot form key path to main actor-isolated property 'center'

/Users/<redacted>/Repositories/<redacted>/node_modules/react-native-keyboard-controller/ios/observers/movement/KeyboardEventsIgnorer.swift:12:27 Static property 'shared' is not concurrency-safe because non-'Sendable' type 'KeyboardEventsIgnorer' may have shared mutable state

/Users/<redacted>/Repositories/<redacted>/node_modules/react-native-keyboard-controller/ios/observers/movement/KeyboardViewLocator.swift:9:14 Static property 'shared' is not concurrency-safe because non-'Sendable' type 'KeyboardViewLocator' may have shared mutable state

/Users/<redacted>/Repositories/<redacted>/node_modules/react-native-keyboard-controller/ios/observers/movement/observer/KeyboardMovementObserver.swift:21:20 Main actor-isolated default value in a nonisolated context

/Users/<redacted>/Repositories/<redacted>/node_modules/react-native-keyboard-controller/ios/observers/movement/observer/KeyboardMovementObserver+Interactive.swift:12:50 Cannot form key path to main actor-isolated property 'center'

/Users/<redacted>/Repositories/<redacted>/node_modules/react-native-keyboard-controller/ios/observers/movement/observer/KeyboardMovementObserver+Watcher.swift:63:72 Type of expression is ambiguous without a type annotation

/Users/<redacted>/Repositories/<redacted>/node_modules/react-native-keyboard-controller/ios/swizzling/UIResponderSwizzle.swift:11:13 Var 'pendingBecomeResponder' is not concurrency-safe because it is nonisolated global shared mutable state

/Users/<redacted>/Repositories/<redacted>/node_modules/react-native-keyboard-controller/ios/swizzling/UIResponderSwizzle.swift:12:13 Var 'originalResignFirstResponder' is not concurrency-safe because it is nonisolated global shared mutable state

/Users/<redacted>/Repositories/<redacted>/node_modules/react-native-keyboard-controller/ios/swizzling/UIResponderSwizzle.swift:13:13 Var 'originalBecomeFirstResponder' is not concurrency-safe because it is nonisolated global shared mutable state

/Users/<redacted>/Repositories/<redacted>/node_modules/react-native-keyboard-controller/ios/traversal/FocusedInputHolder.swift:12:14 Static property 'shared' is not concurrency-safe because non-'Sendable' type 'FocusedInputHolder' may have shared mutable state

To Reproduce
Steps to reproduce the behavior:

  1. Update to Xcode 26
  2. Build an app that uses react-native-keyboard-controller
  3. See error

Expected behavior
The build succeeds

Smartphone (please complete the following information):

  • Desktop OS: MacOS 26.2
  • Device: iPhone 13 Pro
  • OS: iOS 26.2
  • RN version: 0.81.0
  • RN architecture: new
  • JS engine: unknown
  • Library version: 1.20.6
  • Xcode version: 26.2

Metadata

Metadata

Assignees

Labels

build error ❌Anything that triggers build errors and prevent this library from being usedrepro providedIssue contains reproduction repository/code🍎 iOSiOS specific

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions