Missing official guide for safe migration of iOS projects from Objective-C to Swift #307
Unanswered
coldSeattle
asked this question in
Q&A
Replies: 1 comment
-
There was some info in the 0.77 release blog post re this: https://reactnative.dev/blog/2025/01/21/version-0.77#community-template-swift-as-programming-language-for-ios-apps |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Missing official guide for safe migration of iOS projects from Objective-C to Swift
Description
Many React Native apps that were created before RN 0.77 still use Objective-C in the iOS folder (AppDelegate, native modules, etc.).
Starting from RN 0.77+, the default iOS template switched to Swift with RCTAppDelegate, and RN 0.79 introduces Swift-friendly module registration via ios.modulesProvider.
However, there is no official documentation or migration guide that explains:
Whether developers should migrate their existing Obj-C iOS projects to Swift at all – is it optional, recommended for future compatibility, or required in upcoming releases?
How to do this migration safely, for example:
Converting AppDelegate from Obj-C to Swift (using RCTAppDelegate)
Handling projects that have a mix of Obj-C + Swift code (bridging-header best practices)
Migrating existing native modules (written in Obj-C) to the new Swift-friendly registration
Potential pitfalls with Pods, Xcode targets, build settings, deployment targets
Expected benefits vs. risks of migrating – maintenance, future upgrades, new architecture support.
At the moment, developers have to rely on Upgrade Helper diffs and community blog posts, which don’t provide a safe, step-by-step path for this transition.
Request
It would be extremely helpful if the React Native team could:
📘 Publish an official migration guide in the docs or blog for transitioning iOS projects from Obj-C to Swift.
⚠️ Highlight known pitfalls (Pods, build settings, deployment target changes).
❓ Clarify if / when Obj-C support might be deprecated so teams can plan accordingly.
💻 Provide sample code or templates for common scenarios:
Swift AppDelegate using RCTAppDelegate
Mixed Obj-C / Swift native modules
Bridging-header setup
Such guidance would save teams significant effort and reduce the risk of breaking changes during upgrades.
Environment
Current project: React Native 0.78 (iOS folder mostly Obj-C)
Target upgrade: React Native 0.79 (with Swift-friendly modules)
Xcode 15+, iOS 15+ deployment target
Project contains custom native modules written in Obj-C and plans to adopt Swift going forward.
Motivation
Upgrading from 0.78 → 0.79 leaves developers without a clear path for migrating the iOS folder to Swift.
An official guide would clarify whether migration is necessary, how to do it safely, and what benefits it brings.
Beta Was this translation helpful? Give feedback.
All reactions