Hiprup

What is autolinking and how did it change with React Native 0.60+?

Autolinking is the mechanism by which React Native discovers native modules in your node_modules and wires them into the iOS and Android builds without manual configuration.

Before RN 0.60:

  • After npm install react-native-x you ran react-native link react-native-x.

  • That modified Podfile, build.gradle, settings.gradle, MainApplication.java, and Xcode pbxproj — manually and brittlely.

  • Worked ~70% of the time; the rest needed manual fixes per platform.

RN 0.60+ (Autolinking):

  • Each library ships a react-native.config.js declaring its native modules.

  • At build time, CocoaPods (iOS) and Gradle (Android) discover and link them automatically.

  • react-native link is deprecated; pod install handles iOS; Gradle handles Android.

What autolinking does NOT do:

  • Add permissions to Info.plist or AndroidManifest.xml — still manual.

  • Add platform-specific config (URL schemes, custom intents, signing).

  • Always read each library's README for post-install steps.

The right framing is: 'Before 0.60 you had to manually run react-native link (or edit Xcode/Gradle by hand) for every native dependency. From 0.60 onward, autolinking does it for you at build time.' Mention the small but real trade-off: native modules sometimes need post-install configuration (Info.plist permissions, Android manifest entries) that autolinking does NOT handle — you still have to read each library's README.

What is autolinking and how did it change with React Native 0.60+? | Hiprup