Skip to content

Conversation

@mfazekas
Copy link
Contributor

@mfazekas mfazekas commented Jan 1, 2026

Remove React Native old architecture (Paper/Bridge) code from iOS, keeping only new architecture (Fabric/TurboModules) code.

Changes:

  • Delete all *ViewManager.m and *ViewManager.swift files (old arch view managers)
  • Remove #ifdef RCT_NEW_ARCH_ENABLED guards from ComponentView files
  • Simplify Module.h files to only conform to TurboModule protocols
  • Remove old arch conditionals from Module.mm files
  • Update RNMBXViewResolver to remove old arch code paths
  • Remove unused RCTViewManager imports from Bridge/RNMBX.h and Swift.pre.h
  • Remove guards from RNMBXFabricPropConvert.mm and RNMBXFollyConvert.h

This is a follow-up to the Android old architecture removal (#4128) and continues the 10.3.0 cleanup work (#4118).

Description

Fixes #

Added your feature that allows ...

Checklist

  • I've read CONTRIBUTING.md
  • I updated the doc/other generated code with running yarn generate in the root folder
  • I have tested the new feature on /example app.
    • In V11 mode/ios
    • In New Architecture mode/ios
    • In V11 mode/android
    • In New Architecture mode/android
  • I added/updated a sample - if a new feature was implemented (/example)

Screenshot OR Video

Component to reproduce the issue you're fixing

Remove React Native old architecture (Paper/Bridge) code from iOS,
keeping only new architecture (Fabric/TurboModules) code.

Changes:
- Delete all *ViewManager.m and *ViewManager.swift files (old arch view managers)
- Remove #ifdef RCT_NEW_ARCH_ENABLED guards from ComponentView files
- Simplify Module.h files to only conform to TurboModule protocols
- Remove old arch conditionals from Module.mm files
- Update RNMBXViewResolver to remove old arch code paths
- Remove unused RCTViewManager imports from Bridge/RNMBX.h and Swift.pre.h
- Remove guards from RNMBXFabricPropConvert.mm and RNMBXFollyConvert.h

This is a follow-up to the Android old architecture removal (#4128)
and continues the 10.3.0 cleanup work (#4118).
The umbrella header is compiled as Objective-C (not Objective-C++),
which causes errors when ComponentView.h files import Fabric headers
that transitively include C++ code like <atomic>.

Use #ifdef __cplusplus guard instead of RCT_NEW_ARCH_ENABLED to:
- Allow content when compiled as Objective-C++ (.mm files)
- Hide content when compiled as Objective-C (umbrella header)
Move 16 module methods from static RNMBXMapViewManager methods to instance methods on RNMBXMapView, fixing build errors after old architecture removal.
Move Foundation/UIKit imports outside __cplusplus guard and provide
plain NSObject interface for non-C++ contexts (Swift).
…ource

Call methods directly on view instances instead of through Manager classes.
@mfazekas mfazekas merged commit dbfb2f4 into main Jan 18, 2026
7 checks passed
@mfazekas mfazekas deleted the claude/remove-old-arch-ios-qKonK branch January 18, 2026 21:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants