A React Native module to help access and save events to iOS and Android calendars.
This package assumes that you already have a React Native project or are familiar with React Native. If not, checkout the official documentation for more details about getting started with React Native.
The following is required for the package to work properly.
Install the react-native-calendar-events
library with native code.
npm install --save react-native-calendar-events
Since this package contains native code, you will need to include the code as a library. The React Native documentation on "Linking Libraries" also provides some details for this process.
react-native link
iOS specific instructions
iOS specific requirements, such as mandatory privacy usage descriptions and including the EventKit.framework
.
Android specific instructions
Android specific requirements, such as mandatory application permissions.
The following API allows for interacting with both iOS and Android device calendars. See the full list of available event fields.
import RNCalendarEvents from 'react-native-calendar-events';
Get calendar authorization status.
RNCalendarEvents.authorizationStatus()
Returns: Promise
denied
, restricted
, authorized
or undetermined
Request calendar authorization. Authorization must be granted before accessing calendar events.
Android note: This is only necessary for targeted SDK of 23 and higher.
RNCalendarEvents.authorizeEventStore()
Returns: Promise
denied
, restricted
, authorized
or undetermined
Finds all the calendars on the device.
RNCalendarEvents.findCalendars()
Returns: Promise
Find calendar event by id. Returns a promise with fulfilled found events.
RNCalendarEvents.findEventById(id)
Arguments:
Returns: Promise
Fetch all calendar events. Returns a promise with fulfilled found events.
RNCalendarEvents.fetchAllEvents(startDate, endDate, calendars)
Arguments:
Returns: Promise
Creates or updates a calendar event. - wiki guide
RNCalendarEvents.saveEvent(title, details, options);
Arguments:
Returns: Promise
To update an event, the event id
must be defined. - wiki guide
RNCalendarEvents.saveEvent(title, {id: 'FE6B128F-C0D8-4FB8-8FC6-D1D6BA015CDE'})
Removes calendar event.
RNCalendarEvents.removeEvent(id, options)
Arguments:
Returns: Promise
Property | Type | Description | iOS | Android |
---|---|---|---|---|
id* | String | Unique id for the calendar event. | ✓ | ✓ |
calendarId** | String | Unique id for the calendar where the event will be saved. Defaults to the device's default calendar. | ✓ | ✓ |
title | String | The title for the calendar event. | ✓ | ✓ |
startDate | Date | The start date of the calendar event in ISO format. | ✓ | ✓ |
endDate | Date | The end date of the calendar event in ISO format. | ✓ | ✓ |
allDay | Bool | Indicates whether the event is an all-day event. | ✓ | ✓ |
recurrence | String | The simple recurrence frequency of the calendar event daily , weekly , monthly , yearly or none. |
✓ | ✓ |
recurrenceRule ** | Object | The events recurrence settings. | ✓ | ✓ |
occurrenceDate* | Date | The original occurrence date of an event if it is part of a recurring series. | ✓ | |
isDetached | Bool | Indicates whether an event is a detached instance of a repeating event. | ✓ | |
url | String | The url associated with the calendar event. | ✓ | ✓ |
location | String | The location associated with the calendar event. | ✓ | ✓ |
notes | String | The notes associated with the calendar event. | ✓ | |
description | String | The description associated with the calendar event. | ✓ | |
alarms | Array | The alarms associated with the calendar event, as an array of alarm objects. | ✓ | ✓ |
attendees* | Array | The attendees of the event, including the organizer. | ✓ | ✓ |
calendar* | Object | The calendar containing the event. | ✓ | ✓ |
Property | Type | Description | iOS | Android |
---|---|---|---|---|
name | String | The name of the attendee. | ✓ | ✓ |
email* | String | The email address of the attendee. | ✓ | ✓ |
phone* | String | The phone number of the attendee. | ✓ |
Property | Type | Description | iOS | Android |
---|---|---|---|---|
frequency | String | Event recurring frequency. Allowed values are daily , weekly , monthly , yearly . |
✓ | ✓ |
endDate | Date | Event recurring end date. This overrides occurrence. | ✓ | ✓ |
occurrence | Number | Number of event occurrences. | ✓ | ✓ |
interval | Number | The interval between events of this recurrence. | ✓ | ✓ |
Property | Type | Description | iOS | Android |
---|---|---|---|---|
date | Date or Number | If a Date is given, an alarm will be set with an absolute date. If a Number is given, an alarm will be set with a relative offset (in minutes) from the start date. | ✓ | ✓ |
structuredLocation | Object | The location to trigger an alarm. | ✓ |
Property | Type | Description | iOS | Android |
---|---|---|---|---|
title | String | The title of the location. | ✓ | |
proximity | String | A value indicating how a location-based alarm is triggered. Possible values: enter , leave , none . |
✓ | |
radius | Number | A minimum distance from the core location that would trigger the calendar event's alarm. | ✓ | |
coords | Object | The geolocation coordinates, as an object with latitude and longitude properties | ✓ |
Property | Type | Description | iOS | Android |
---|---|---|---|---|
exceptionDate | Date | The start date of a recurring event's exception instance. Used for updating single event in a recurring series | ✓ | ✓ |
futureEvents | Bool | If true the update will span all future events. If false it only update the single instance. |
✓ |
* Read only, ** Write only
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE.md file for details
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。