The Capacitor Calendar Plugin enables full calendar functionality on iOS and Android, with added reminder support for iOS devices.
https://capacitor-calendar.pages.dev
Documentation
ยท
Capacitor Compatibility
ยท
Deployment Targets
To use this package, follow the instructions for installing either the stable or development release. Stable releases are recommended for production, while development releases provide access to the latest features and fixes which are still under development.
The stable releases are published to the npm package registry.
npm install @ebarooni/capacitor-calendar@latest
npx cap sync
[!IMPORTANT]
This plugin no longer receives updates for Capacitor v5 and only supports the latest version.
npm install @ebarooni/capacitor-calendar@^5
npx cap sync
Development releases are published to the GitHub package registry. These releases are automatically generated from the latest state of the `develop branch every time a pull request is merged into it.
[!WARNING] Development releases are not recommended for production use as they may contain untested or experimental changes.
Create an .npmrc
file and place it in the root of your project with the following content:
//npm.pkg.github.com/:_authToken=$GITHUB_PAT
@ebarooni:registry=https://npm.pkg.github.com
always-auth=true
Replace $GITHUB_PAT
with your own personal access token with at least read:packages
scope.
npm install @ebarooni/capacitor-calendar
npx cap sync
iOS 17 | Android 14 |
---|---|
On iOS, readCalendar
permission is not needed when you a
re creating an event using the native prompt.
The video is just for showing the functionality, otherwise the createEventWithPrompt
method works without the readCalendar
authorization.
To be able to use the plugin, you will need to add the required usage descriptions to your app. The required platform-specific usage descriptions can be found below:
checkPermission(...)
checkAllPermissions()
requestPermission(...)
requestAllPermissions()
createEventWithPrompt(...)
selectCalendarsWithPrompt(...)
listCalendars()
getDefaultCalendar()
createEvent(...)
getDefaultRemindersList()
getRemindersLists()
createReminder(...)
openCalendar(...)
openReminders()
listEventsInRange(...)
deleteEventsById(...)
createCalendar(...)
deleteCalendar(...)
getRemindersFromLists(...)
deleteRemindersById(...)
requestWriteOnlyCalendarAccess()
requestReadOnlyCalendarAccess()
requestFullCalendarAccess()
requestFullRemindersAccess()
modifyEventWithPrompt(...)
modifyEvent(...)
fetchAllCalendarSources()
fetchAllRemindersSources()
modifyReminder(...)
For comprehensive explanations, usage examples, and additional information, please refer to the following resources:
[!NOTE] Thank you for your interest in contributing to the project! At the moment, the focus is on reaching the first major release. Until then, the contributions will not be accepted. This approach allows to set a solid foundation and maintain consistency throughout the development process.
Community input is highly valued, and you are encouraged to engage with the project by providing feedback and suggestions. Feel free to open issues for bugs you've discovered or enhancements you'd like to see.
Stay tuned for updates. Looking forward to collaborating with you in the future once contributions are opened up!