Skip to content

Conversation

@lposen
Copy link
Contributor

@lposen lposen commented Aug 2, 2025

🔹 JIRA Ticket(s) if any

✏️ Description

Update our codebase to use turbomodules in iOS.
IMPORTANT: This PR is not backwards compatible, and will not build correctly in legacy arch. This will be fixed in a subsequent PR.

Testing

Building the iOS version of this app in NEW arch should work

  • open example>ios>podfile, and make sure ENV['RCT_NEW_ARCH_ENABLED'] = '1' is at the top of the file.
  • in example>ios, run the following:
    • bundle exec pod deintegrate
    • rm -rf ~/Library/Developer/Xcode/DerivedData Pods Podfile.lock build ../Gemfile.lock
    • bundle install
    • bundle exec pod install
  • in example run:
    • watchman watch-del-all
    • yarn start --reset-cache
  • build the ios app

The app should build and load correctly

@lposen lposen changed the title New-arch/MOB-11827-add-new-architecture-support [MOB-11827] add-new-architecture-support Aug 2, 2025
@lposen lposen marked this pull request as ready for review August 2, 2025 18:13
@github-actions
Copy link

github-actions bot commented Aug 6, 2025

Lines Statements Branches Functions
Coverage: 38%
37.98% (177/466) 13.04% (24/184) 32.9% (51/155)

Base automatically changed from new-arch/MOB-11833-format-files to new-arch/master August 20, 2025 22:09
@lposen lposen requested a review from Copilot August 20, 2025 22:10
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR migrates the iOS codebase to support React Native's new architecture with TurboModules. The implementation introduces a bridge pattern between Objective-C and Swift to maintain compatibility with the new architecture while preserving existing functionality.

  • Adds TurboModule support with a new Objective-C wrapper that bridges to the existing Swift implementation
  • Updates package.json to include iOS module configuration for new architecture
  • Modifies the Swift ReactIterableAPI class to work with a delegate pattern for event emission

Reviewed Changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
package.json Adds iOS module configuration mapping for new architecture support
ios/RNIterableAPI/ReactIterableAPI.swift Updates Swift class with delegate pattern and public visibility for TurboModule integration
ios/RNIterableAPI/RNIterableAPI.mm Completely rewritten as Objective-C wrapper implementing TurboModule spec with delegation to Swift
ios/RNIterableAPI/RNIterableAPI.h Updates header to import TurboModule specs and conform to new architecture protocol
example/ios/ReactNativeSdkExample.xcodeproj/project.pbxproj Updates Xcode project references for new CocoaPods configuration
example/ios/Podfile Forces dynamic framework linkage for Swift compatibility

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Copy link
Contributor

@evantk91 evantk91 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just did a cursory look. The example app is running ok.

lposen and others added 4 commits August 21, 2025 14:34
…s-compatibility

[MOB-11828] add-backwards-compatibility
Added copilot suggestion

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…t suggestion

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…t suggestion

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@lposen lposen merged commit de47698 into new-arch/master Aug 21, 2025
2 of 4 checks passed
@lposen lposen deleted the new-arch/MOB-11827-add-new-architecture-support branch August 21, 2025 21:38
@lposen lposen mentioned this pull request Oct 14, 2025
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