React Native Push Notification iOS

The React Native Push Notification API for iOS local and remote notifications.

Library
npm
v1.12.0
829stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
48/100Fair
Development Activity0
Maintenance32
Community72
Maturity60
Momentum28

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
73/100Good
Architecture78
Code Quality76
Innovation66
Learning Curve72

@react-native-community/push-notification-ios is the community-maintained React Native module that exposes Apple’s iOS push notification APIs to JavaScript. Extracted from the React Native core as part of the Lean Core effort, it lets you request notification permissions, schedule local notifications, receive remote (APNs) notifications, and respond to notification actions from your React Native app.

The package bridges the native UserNotifications framework, giving you access to authorization status, notification categories with custom and text-input actions, badge management, sound, and background/foreground delivery handling. It autolinks on React Native 0.60+ and ships TypeScript definitions for a fully typed integration.

What You Get

  • A PushNotificationIOS API for requesting permissions and reading authorization status
  • Local notification scheduling and remote (APNs) notification handling
  • Notification categories with custom actions and text-input actions
  • App icon badge number management and notification sound/alert control
  • Autolinking on React Native 0.60+ and bundled TypeScript definitions

Common Use Cases

  • Adding push notification support to a React Native iOS app
  • Scheduling local reminders and alerts on iOS from JavaScript
  • Handling interactive notification actions and updating the app badge

Under The Hood

Architecture - The package is a classic React Native native module. The JavaScript surface in js/index.js (re-exported from index.js) wraps a native RNCPushNotificationIOS module and its event emitter, translating method calls and native events (notification received, registered, registration error) into a promise/callback and listener API. The native side lives under ios/ (Objective-C) and bridges Apple’s UserNotifications / UIKit notification APIs; RNCPushNotificationIOS.podspec declares the CocoaPods integration.

Tech Stack - JavaScript/TypeScript on the JS side with Objective-C on the native side, targeting React Native >=0.58.4 and React >=16.6.3 as peer dependencies. The only runtime JS dependency is invariant. It uses Babel and a tsconfig.json for the typed build, and ships index.d.ts type definitions.

Code Quality - The repo includes an example/ app for manual verification, docs/, and typed definitions, and it originated from React Native core so it follows established native-module conventions. It is mature and widely used; recent development activity is low, reflecting a stable, feature-complete bridge rather than active feature work.

API Design - The API mirrors the familiar React Native PushNotificationIOS surface: requestPermissions(), addEventListener(), setApplicationIconBadgeNumber(), and category/action configuration. TypeScript definitions and autolinking keep integration low-friction, though correct setup still requires native iOS steps (AppDelegate wiring and APNs capabilities) documented in the README.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search