Install dev dependencies:
Remove @react-native-community/cli
and related packages.
Add .rnef/
folder with caches to .gitignore
:
Add rnef.config.mjs
file:
Move any project
config from react-native.config.js
to platform arguments in rnef.config.mjs
, for example:
translates to:
Update Android files:
In android/app/build.gradle
set the cliFile
with the new path:
In android/settings.gradle
change:
Update iOS files:
In ios/Podfile
change:
In ios/<ProjectName>.xcodeproj/project.pbxproj
update the shellScript:
Next, create ios/react-native-xcode.sh
based on this template. You can move there any custom code you previously had as part of the "Bundle React Native code and images" Build Phase in Xcode.
Cleanup native files:
Run new commands:
Additionally rename flags:
--mode
to --variant
for Android commands--mode
to --configuration
for iOS commands--buildFolder
to --build-folder
for iOS commands--destination
to --destinations
for iOS commands--appId
to --app-id
for Android commands--appIdSuffix
to --app-id-suffix
for Android commandsAnd remove unsupported flags:
--interactive
/-i
– the CLI will prompt you for input where necessary--list-devices
- when no devices are connected, you'll be prompt with a full device selectionConfigure GitHub Actions for remote builds in your workflow
iOS:
Android:
For more setup options see GitHub Actions configuration