Installation
Install rn-iconify and its peer dependencies.
Requirementsโ
- React Native 0.60.0+ (Old Architecture)
- React Native 0.72.0+ (New Architecture / TurboModules)
- iOS 13.0+
- Android API 21+
npmโ
npm install rn-iconify react-native-svg react-native-mmkv
yarnโ
yarn add rn-iconify react-native-svg react-native-mmkv
pnpmโ
pnpm add rn-iconify react-native-svg react-native-mmkv
iOS Setupโ
After installing, run pod install:
cd ios && pod install
Android Setupโ
No additional setup required! Android auto-links the native modules.
Expoโ
For Expo projects, you need a development build (Expo Go is not supported due to native dependencies).
npx expo install rn-iconify react-native-svg react-native-mmkv
Then create a development build:
npx expo prebuild
npx expo run:ios
# or
npx expo run:android
Expo Go Not Supported
rn-iconify requires native modules (react-native-mmkv) that are not available in Expo Go. You must use a development build or bare workflow.
Peer Dependenciesโ
| Package | Version | Purpose |
|---|---|---|
react-native-svg | โฅ13.0.0 | SVG rendering |
react-native-mmkv | โฅ3.0.0 | Fast native cache (JSI) |
Verify Installationโ
Create a simple test component:
import { Mdi } from 'rn-iconify';
import { View } from 'react-native';
export default function App() {
return (
<View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
<Mdi name="check-circle" size={48} color="green" />
</View>
);
}
If you see a green checkmark, you're all set!
Troubleshootingโ
iOS: "RNIconify" module not foundโ
Run pod install again:
cd ios && pod install --repo-update
Android: Build fails with MMKVโ
Make sure you have the latest react-native-mmkv:
npm install react-native-mmkv@latest
Metro: Unable to resolve moduleโ
Clear Metro cache:
npx react-native start --reset-cache
Next Stepsโ
- Quick Start - Basic usage examples
- TypeScript - Type safety and autocomplete