Skip to main content

Compatibility

Version matrix​

This library’s published native code is built and tested against the versions below. Match them in your app for a reliable install.

PackageVersionNotes
react-native-alternate-app-iconnext releaseCurrent source — uses Nitro 0.36.x (RN 0.87)
react-native-alternate-app-icon1.0.0–1.1.0Uses Nitro 0.35.x
react-native-alternate-app-icon0.8.0Legacy release — uses Nitro 0.32.x
react-native-nitro-modules0.36.5Required for the current Nitro 0.36.x line
react-native-nitro-modules0.35.9Required for 1.0.x
react-native-nitro-modules0.32.0Required for 0.9.x
React Native0.76.0+New Architecture (Fabric / TurboModules)
React Native0.87+Requires Nitro 0.36.2+ (installJSIBindingsWithRuntime)
Node.js18.0.0+For CLI, Metro, and local tooling

The example app in the repo uses React Native 0.84.1 with Nitro Modules 0.36.5.

Nitro toolchain​

Native bindings under nitrogen/generated/ are produced with:

ToolVersion
Nitrogen0.36.5 (current) / 0.35.9 (1.0.x) / 0.32.0 (v0.9.0)
react-native-nitro-modules (codegen target)0.36.5 (current) / 0.35.9 (1.0.x) / 0.32.0 (v0.9.0)

Nitrogen and Nitro Modules releases are paired.

  • Current source (next release): Uses the 0.36.x line (RN 0.87 compatible).
  • For v1.0.x / v1.1.0: Uses the 0.35.x line.
  • For v0.9.x: Uses the 0.32.x line.

If you maintain a fork or run bun run codegen locally, ensure you match the version used by the library version you are on.

Architecture support​

The library is built with Nitro Modules and supports React Native's New Architecture (Fabric and TurboModules).

Platform minimums​

PlatformNotes
iOSiOS 10.3+ for alternate icons; test on a physical device — some recent simulators do not show the post-change alert reliably
AndroidStandard launcher icon aliases via activity-alias

Peer dependencies​

Your app package.json should include:

{
"dependencies": {
"react-native-alternate-app-icon": "^1.1.0",
"react-native-nitro-modules": "0.36.5"
}
}

Use your package manager’s install command with an explicit Nitro version:

bun add react-native-alternate-app-icon react-native-nitro-modules@0.36.5

React Native 0.87 / Xcode 26​

Nitro 0.36.2+ overloads installJSIBindingsWithRuntime for RN 0.87. The iOS pod matches the NitroSound workaround: library evolution defaults to off (NITRO_LIBLEVOLUTION=NO), Swift compiles as a whole module, and module-interface verification is skipped so Xcode 26 does not fail with 'BorrowingReference.hpp' file not found while verifying AlternateAppIcon.swiftinterface.

After upgrading, clean DerivedData, reinstall pods, and rebuild:

cd ios && pod install --repo-update

Upgrading Nitro later​

When this library publishes support for a newer react-native-nitro-modules release, upgrade both packages together, reinstall pods, and rebuild native apps. Do not bump only Nitro Modules while staying on a release that was built for an older Nitro line.