@capgo/capacitor-calendar

中文文档
8.0.15发布于 2026/10/15MPL-2.0TypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 4.8万

Capacitor plugin for managing calendar events on iOS and Android, with reminders support on iOS.

原始使用文档
文档目录57 节
  1. ➡️ Get started for free
  2. Key features
  3. Table of Contents
  4. Installation
  5. Demo
  6. Setup
  7. iOS
  8. Android
  9. Quick Start
  10. Common Recipes
  11. Open the native event editor
  12. List upcoming events
  13. Choose a calendar
  14. Create an iOS reminder
  15. Platform Support
  16. Compatibility
  17. Documentation
  18. Changelog
  19. License and Attribution
  20. API
  21. checkPermission(...)
  22. checkAllPermissions()
  23. requestPermission(...)
  24. requestAllPermissions()
  25. requestWriteOnlyCalendarAccess()
  26. requestReadOnlyCalendarAccess()
  27. requestFullCalendarAccess()
  28. requestFullRemindersAccess()
  29. createEventWithPrompt(...)
  30. modifyEventWithPrompt(...)
  31. createEvent(...)
  32. modifyEvent(...)
  33. deleteEventsById(...)
  34. deleteEvent(...)
  35. deleteEventWithPrompt(...)
  36. listEventsInRange(...)
  37. commit()
  38. selectCalendarsWithPrompt(...)
  39. fetchAllCalendarSources()
  40. listCalendars()
  41. getDefaultCalendar()
  42. openCalendar(...)
  43. createCalendar(...)
  44. deleteCalendar(...)
  45. modifyCalendar(...)
  46. fetchAllRemindersSources()
  47. openReminders()
  48. getDefaultRemindersList()
  49. getRemindersLists()
  50. createReminder(...)
  51. deleteRemindersById(...)
  52. deleteReminder(...)
  53. modifyReminder(...)
  54. getReminderById(...)
  55. getRemindersFromLists(...)
  56. deleteReminderWithPrompt(...)
  57. Interfaces

@capgo/capacitor-calendar

Create, read, update and delete calendar events from your Capacitor app, or open the native event editor, on iOS and Android. On iOS you also get full access to Reminders.

Capgo - Build Capacitor apps with AI, ship updates instantly

Capgo: push fixes to your Capacitor users in minutes, build signed iOS and Android apps without a Mac, and roll back in one click.

➡️ Get started for free

14-day unlimited free trial. No credit card required

🤖 Building with an AI coding agent? Install Capgo skills so Claude Code, Codex, Cursor, Copilot, or Gemini CLI know how to install and use @capgo/capacitor-calendar in your Capacitor app: npx skills add Cap-go/capgo-skills. Then ask your agent: "Add @capgo/capacitor-calendar to my Capacitor app and wire it up." Agent setup guides · Hosted MCP

iOS demo of the example app creating an event with the native calendar editor

Key features

  • Native editor: createEventWithPrompt() and modifyEventWithPrompt() open the system event editor. deleteEventWithPrompt() asks for confirmation, with a plugin dialog on Android.
  • Events API: createEvent(), modifyEvent(), deleteEvent(), deleteEventsById() and listEventsInRange().
  • Calendars: listCalendars(), getDefaultCalendar(), createCalendar(), modifyCalendar() and deleteCalendar().
  • Reminders on iOS: createReminder(), modifyReminder(), getRemindersFromLists() and more.
  • Fine-grained permissions: write-only and full calendar access, read-only access on Android, plus reminders access.
  • Platforms: iOS and Android. iOS uses EventKit, Android uses CalendarContract. Reminders are iOS only. Not available on web.

npm version npm downloads license Capacitor 8

Native calendar and reminders access for Capacitor apps. Use it to request calendar permissions, create and edit events, open the system calendar UI, list calendars and events, and manage Reminders on iOS.

This package is a Capgo-maintained version of the calendar plugin originally built by Ehsan Barooni, ported to the Capgo Capacitor plugin template and Capacitor 8.

Table of Contents

Installation

You can use our AI-Assisted Setup to install the plugin. Add the Capgo skills to your AI tool using the following command:

npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins

Then use the following prompt:

Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-calendar` plugin in my project.

If you prefer Manual Setup, install the plugin by running the following commands and follow the platform-specific instructions below:

npm install @capgo/capacitor-calendar
npx cap sync

Demo

iOSAndroid
iOS demo of native calendar event creationAndroid demo of native calendar event creation

Setup

This plugin uses native calendar APIs, so each platform needs permission configuration before you request access at runtime.

Official platform references:

iOS

Add the usage descriptions your app needs to ios/App/App/Info.plist. iOS 17 and newer distinguish between write-only and full calendar access.

<key>NSCalendarsUsageDescription</key>
<string>This app needs calendar access.</string>
<key>NSCalendarsWriteOnlyAccessUsageDescription</key>
<string>This app needs permission to add calendar events.</string>
<key>NSCalendarsFullAccessUsageDescription</key>
<string>This app needs permission to read and manage calendar events.</string>
<key>NSRemindersUsageDescription</key>
<string>This app needs reminders access.</string>
<key>NSRemindersFullAccessUsageDescription</key>
<string>This app needs permission to read and manage reminders.</string>

Only include the keys that match the APIs your app calls. For example, an app that only creates calendar events with write-only access does not need the Reminders keys.

Android

Add the permissions your app needs to android/app/src/main/AndroidManifest.xml:

<uses-permission android:name="android.permission.READ_CALENDAR" />
<uses-permission android:name="android.permission.WRITE_CALENDAR" />

Then request the matching permission at runtime before reading or writing calendar data.

Quick Start

import { CapacitorCalendar } from '@capgo/capacitor-calendar';

const permission = await CapacitorCalendar.requestFullCalendarAccess();

if (permission.result !== 'granted') {
  throw new Error('Calendar permission was not granted');
}

const startDate = Date.now() + 60 * 60 * 1000;
const endDate = startDate + 60 * 60 * 1000;

const { id } = await CapacitorCalendar.createEvent({
  title: 'Product review',
  location: 'Capgo',
  startDate,
  endDate,
  description: 'Created with @capgo/capacitor-calendar',
});

console.log('Created event', id);

Dates are Unix timestamps in milliseconds.

Common Recipes

Open the native event editor

await CapacitorCalendar.createEventWithPrompt({
  title: 'Planning session',
  location: 'Office',
  startDate: Date.now() + 24 * 60 * 60 * 1000,
  endDate: Date.now() + 25 * 60 * 60 * 1000,
});

On Android, createEventWithPrompt and modifyEventWithPrompt always return null. List events afterward if you need to find the created event ID.

List upcoming events

const now = Date.now();
const oneWeekFromNow = now + 7 * 24 * 60 * 60 * 1000;

const { result: events } = await CapacitorCalendar.listEventsInRange({
  from: now,
  to: oneWeekFromNow,
});

Choose a calendar

const { result: calendars } = await CapacitorCalendar.listCalendars();
const { result: defaultCalendar } = await CapacitorCalendar.getDefaultCalendar();

const calendarId = defaultCalendar?.id ?? calendars[0]?.id;

selectCalendarsWithPrompt is available on iOS when you want to show the system calendar picker.

Create an iOS reminder

const permission = await CapacitorCalendar.requestFullRemindersAccess();

if (permission.result === 'granted') {
  await CapacitorCalendar.createReminder({
    title: 'Send launch notes',
    dueDate: Date.now() + 2 * 24 * 60 * 60 * 1000,
    notes: 'Created with @capgo/capacitor-calendar',
  });
}

Reminder APIs are iOS-only.

Platform Support

FeatureiOSAndroidWeb
Permission checks and requestsYesYesNo
Create, modify, delete, and list eventsYesYesNo
Native event create, edit, and delete promptsYesYesNo
Open the Calendar appYesYesNo
List calendars and get the default calendarYesYesNo
Calendar sourcesYesNoNo
System calendar pickerYesNoNo
Create, modify, and delete calendarsYesYesNo
Reminder lists and reminder CRUDYesNoNo

The web implementation exists only as a Capacitor stub and rejects native-only calls.

Compatibility

Plugin versionCapacitor compatibilityMaintained
v8.x.xv8.x.xYes

Documentation

The generated API reference is below. The source type definitions are in src/definitions.ts, and the package homepage is capgo.app/docs/plugins/calendar.

For compatibility with older code, requestPermission(...) and requestAllPermissions() are still available. New apps should prefer requestWriteOnlyCalendarAccess(), requestReadOnlyCalendarAccess(), requestFullCalendarAccess(), and requestFullRemindersAccess().

Changelog

See CHANGELOG.md for release notes.

License and Attribution

This package is released under MPL-2.0. The original @ebarooni/capacitor-calendar project was released under MIT by Ehsan Barooni; see THIRD_PARTY_NOTICES.md for attribution.

API

checkPermission(...)

checkPermission(options: { scope: CalendarPermissionScope; }) => Promise<{ result: PermissionState; }>

Retrieves the current permission state for a given scope.

ParamType
options{ scope: CalendarPermissionScope; }

Returns: Promise<{ result: PermissionState; }>

Since: 0.1.0


checkAllPermissions()

checkAllPermissions() => Promise<{ result: CheckAllPermissionsResult; }>

Retrieves the current state of all permissions.

Returns: Promise<{ result: CheckAllPermissionsResult; }>

Since: 0.1.0


requestPermission(...)

requestPermission(options: { scope: CalendarPermissionScope; }) => Promise<{ result: PermissionState; }>

Requests permission for a given scope.

ParamType
options{ scope: CalendarPermissionScope; }

Returns: Promise<{ result: PermissionState; }>

Since: 0.1.0


requestAllPermissions()

requestAllPermissions() => Promise<{ result: RequestAllPermissionsResult; }>

Requests permission for all calendar and reminder permissions.

Returns: Promise<{ result: CheckAllPermissionsResult; }>

Since: 0.1.0


requestWriteOnlyCalendarAccess()

requestWriteOnlyCalendarAccess() => Promise<{ result: PermissionState; }>

Requests write access to the calendar.

Returns: Promise<{ result: PermissionState; }>

Since: 5.4.0


requestReadOnlyCalendarAccess()

requestReadOnlyCalendarAccess() => Promise<{ result: PermissionState; }>

Requests read access to the calendar.

Returns: Promise<{ result: PermissionState; }>

Since: 5.4.0


requestFullCalendarAccess()

requestFullCalendarAccess() => Promise<{ result: PermissionState; }>

Requests read and write access to the calendar.

Returns: Promise<{ result: PermissionState; }>

Since: 5.4.0


requestFullRemindersAccess()

requestFullRemindersAccess() => Promise<{ result: PermissionState; }>

Requests read and write access to reminders.

Returns: Promise<{ result: PermissionState; }>

Since: 5.4.0


createEventWithPrompt(...)

createEventWithPrompt(options?: CreateEventWithPromptOptions | undefined) => Promise<{ id: string | null; }>

Opens the system calendar interface to create a new event. On Android this always returns null; fetch events to find the newly created event ID.

ParamType
optionsCreateEventWithPromptOptions

Returns: Promise<{ id: string | null; }>

Since: 0.1.0


modifyEventWithPrompt(...)

modifyEventWithPrompt(options: ModifyEventWithPromptOptions) => Promise<{ result: EventEditAction | null; }>

Opens a system calendar interface to modify an event. On Android this always returns null.

ParamType
optionsModifyEventWithPromptOptions

Returns: Promise<{ result: EventEditAction | null; }>

Since: 6.6.0


createEvent(...)

createEvent(options: CreateEventOptions) => Promise<{ id: string; }>

Creates an event in the calendar.

ParamType
optionsCreateEventOptions

Returns: Promise<{ id: string; }>

Since: 0.4.0


modifyEvent(...)

modifyEvent(options: ModifyEventOptions) => Promise<void>

Modifies an event.

ParamType
optionsModifyEventOptions

Since: 6.6.0


deleteEventsById(...)

deleteEventsById(options: DeleteEventsByIdOptions) => Promise<{ result: DeleteEventsByIdResult; }>

Deletes multiple events.

ParamType
optionsDeleteEventsByIdOptions

Returns: Promise<{ result: DeleteEventsByIdResult; }>

Since: 0.11.0


deleteEvent(...)

deleteEvent(options: DeleteEventOptions) => Promise<void>

Deletes an event.

ParamType
optionsDeleteEventOptions

Since: 7.1.0


deleteEventWithPrompt(...)

deleteEventWithPrompt(options: DeleteEventWithPromptOptions) => Promise<{ deleted: boolean; }>

Opens a dialog to delete an event.

ParamType
optionsDeleteEventWithPromptOptions

Returns: Promise<{ deleted: boolean; }>

Since: 7.1.0


listEventsInRange(...)

listEventsInRange(options: ListEventsInRangeOptions) => Promise<{ result: CalendarEvent[]; }>

Retrieves events within a date range.

ParamType
optionsListEventsInRangeOptions

Returns: Promise<{ result: CalendarEvent[]; }>

Since: 0.10.0


commit()

commit() => Promise<void>

Saves pending iOS calendar changes.

Since: 7.1.0


selectCalendarsWithPrompt(...)

selectCalendarsWithPrompt(options?: SelectCalendarsWithPromptOptions | undefined) => Promise<{ result: Calendar[]; }>

Opens a system interface to choose one or multiple calendars.

ParamType
optionsSelectCalendarsWithPromptOptions

Returns: Promise<{ result: Calendar[]; }>

Since: 0.2.0


fetchAllCalendarSources()

fetchAllCalendarSources() => Promise<{ result: CalendarSource[]; }>

Retrieves a list of calendar sources.

Returns: Promise<{ result: CalendarSource[]; }>

Since: 6.6.0


listCalendars()

listCalendars() => Promise<{ result: Calendar[]; }>

Retrieves all available calendars.

Returns: Promise<{ result: Calendar[]; }>

Since: 7.1.0


getDefaultCalendar()

getDefaultCalendar() => Promise<{ result: Calendar | null; }>

Retrieves the default calendar.

Returns: Promise<{ result: Calendar | null; }>

Since: 0.3.0


openCalendar(...)

openCalendar(options?: OpenCalendarOptions | undefined) => Promise<void>

Opens the calendar app.

ParamType
optionsOpenCalendarOptions

Since: 7.1.0


createCalendar(...)

createCalendar(options: CreateCalendarOptions) => Promise<{ id: string; }>

Creates a calendar.

ParamType
optionsCreateCalendarOptions

Returns: Promise<{ id: string; }>

Since: 5.2.0


deleteCalendar(...)

deleteCalendar(options: DeleteCalendarOptions) => Promise<void>

Deletes a calendar by ID.

ParamType
optionsDeleteCalendarOptions

Since: 5.2.0


modifyCalendar(...)

modifyCalendar(options: ModifyCalendarOptions) => Promise<void>

Modifies a calendar.

ParamType
optionsModifyCalendarOptions

Since: 7.2.0


fetchAllRemindersSources()

fetchAllRemindersSources() => Promise<{ result: CalendarSource[]; }>

Retrieves a list of reminder sources.

Returns: Promise<{ result: CalendarSource[]; }>

Since: 6.6.0


openReminders()

openReminders() => Promise<void>

Opens the reminders app.

Since: 7.1.0


getDefaultRemindersList()

getDefaultRemindersList() => Promise<{ result: RemindersList | null; }>

Retrieves the default reminders list.

Returns: Promise<{ result: Calendar | null; }>

Since: 7.1.0


getRemindersLists()

getRemindersLists() => Promise<{ result: RemindersList[]; }>

Retrieves all available reminders lists.

Returns: Promise<{ result: Calendar[]; }>

Since: 7.1.0


createReminder(...)

createReminder(options: CreateReminderOptions) => Promise<{ id: string; }>

Creates a reminder.

ParamType
optionsCreateReminderOptions

Returns: Promise<{ id: string; }>

Since: 0.5.0


deleteRemindersById(...)

deleteRemindersById(options: DeleteRemindersByIdOptions) => Promise<{ result: DeleteRemindersByIdResult; }>

Deletes multiple reminders.

ParamType
optionsDeleteRemindersByIdOptions

Returns: Promise<{ result: DeleteRemindersByIdResult; }>

Since: 5.3.0


deleteReminder(...)

deleteReminder(options: DeleteReminderOptions) => Promise<void>

Deletes a reminder.

ParamType
optionsDeleteReminderOptions

Since: 7.1.0


modifyReminder(...)

modifyReminder(options: ModifyReminderOptions) => Promise<void>

Modifies a reminder.

ParamType
optionsModifyReminderOptions

Since: 6.7.0


getReminderById(...)

getReminderById(options: GetReminderByIdOptions) => Promise<{ result: Reminder | null; }>

Retrieves a reminder by ID.

ParamType
optionsGetReminderByIdOptions

Returns: Promise<{ result: Reminder | null; }>

Since: 7.1.0


getRemindersFromLists(...)

getRemindersFromLists(options: GetRemindersFromListsOptions) => Promise<{ result: Reminder[]; }>

Retrieves reminders from multiple lists.

ParamType
optionsGetRemindersFromListsOptions

Returns: Promise<{ result: Reminder[]; }>

Since: 5.3.0


deleteReminderWithPrompt(...)

deleteReminderWithPrompt(options: DeleteReminderWithPromptOptions) => Promise<{ deleted: boolean; }>

Opens a dialog to delete a reminder.

ParamType
optionsDeleteReminderWithPromptOptions

Returns: Promise<{ deleted: boolean; }>

Since: 7.2.0


Interfaces

CreateEventWithPromptOptions

PropTypeDescriptionSince
alertsnumber[]Alert times in minutes relative to the event start. Use negative numbers for reminders before the start, and positive numbers for reminders after the start. On iOS only 2 alerts are supported.7.1.0
availabilityEventAvailability7.1.0
calendarIdstring0.1.0
descriptionstring7.1.0
endDatenumber0.1.0
inviteesstring[]An array of emails to invite.7.1.0
isAllDayboolean0.1.0
locationstring0.1.0
recurrenceEventRecurrenceRuleRules for creating a recurring event.7.3.0
startDatenumber0.1.0
titlestring0.1.0
urlstring0.1.0

EventRecurrenceRule

PropTypeDescriptionDefaultSince
byMonthnumber[]Limits a yearly recurrence to specific months of the year. The values should be between 1 and 12.7.1.0
byMonthDaynumber[]Limits a monthly recurrence to specific days of the month. The values should be between 1 and 31.7.1.0
byWeekDaynumber[]Limits a weekly recurrence to specific weekdays. The values should be between 1 and 7. 1 means Monday and 7 means Sunday.7.3.0
countnumberThe total number of occurrences. If set, the recurrence ends after this many occurrences. If count is provided, end is ignored.7.3.0
daysOfTheYearnumber[]Limits a yearly recurrence to specific days of the year (1 to 366).7.3.0
endnumberEnd date of the recurrence series as a Unix timestamp in milliseconds.7.1.0
frequencyRecurrenceFrequencyHow often the event repeats.7.3.0
intervalnumberThe interval between recurrences. Use in combination with frequency. For example, a weekly event with an interval of 2, results in the event occurring every 2 weeks.17.3.0
weeksOfTheYearnumber[]Limits a yearly recurrence to specific ISO week numbers (1 to 53).7.3.0

ModifyEventWithPromptOptions

PropTypeDescriptionSince
idstringThe ID of the event to be modified.7.1.0

CreateEventOptions

PropTypeDescriptionDefaultSince
alertsnumber[]Alert times in minutes relative to the event start. Use negative numbers for alerts before the start, and positive numbers for alerts after the start.7.1.0
attendeesEventGuest[]The event guests.7.1.0
availabilityEventAvailability7.1.0
calendarIdstring0.1.0
colorstring7.1.0
commitbooleanWhether to save immediately (true) or batch changes for later (false).true7.1.0
descriptionstring7.1.0
durationstringDuration of the event in RFC2445 format.7.1.0
endDatenumber0.1.0
isAllDayboolean0.1.0
locationstring0.1.0
organizerstringEmail of the event organizer.7.1.0
recurrenceEventRecurrenceRuleRules for creating a recurring event.7.3.0
startDatenumber0.1.0
titlestring0.4.0
urlstring0.1.0

EventGuest

PropTypeSince
namestring7.1.0
emailstring7.1.0

ModifyEventOptions

PropTypeDescriptionDefaultSince
alertsnumber[]Alert times in minutes relative to the event start. Use negative numbers for alerts before the start, and positive numbers for alerts after the start.7.1.0
attendeesEventGuest[]The event guests.7.1.0
availabilityEventAvailability7.1.0
calendarIdstring0.1.0
colorstring7.1.0
descriptionstring7.1.0
durationstringDuration of the event in RFC2445 format.7.1.0
endDatenumber0.1.0
idstringThe ID of the event to be modified.7.1.0
isAllDayboolean0.1.0
locationstring0.1.0
recurrenceEventRecurrenceRuleRules for creating a recurring event.7.3.0
organizerstringEmail of the event organizer.7.1.0
spanEventSpanThe span of modifications.EventSpan.THIS_EVENT
startDatenumber0.1.0
titlestring0.4.0
urlstring0.1.0

DeleteEventsByIdResult

PropTypeSince
deletedstring[]7.1.0
failedstring[]7.1.0

DeleteEventsByIdOptions

PropTypeDescriptionDefaultSince
idsstring[]7.1.0
spanEventSpanThe span of deletion.EventSpan.THIS_EVENT

DeleteEventOptions

PropTypeDescriptionDefaultSince
idstring7.1.0
spanEventSpanThe span of deletion.EventSpan.THIS_EVENT

DeleteEventWithPromptOptions

PropTypeDescriptionDefaultSince
idstring7.1.0
spanEventSpanThe span of deletion.EventSpan.THIS_EVENT
titlestringTitle of the dialog.7.1.0
messagestringMessage of the dialog.7.1.0
confirmButtonTextstringText to show on the confirm button.'Delete'7.1.0
cancelButtonTextstringText to show on the cancel button.'Cancel'7.1.0

CalendarEvent

PropTypeDescriptionSince
idstring7.1.0
titlestring7.1.0
calendarIdstring | null7.1.0
locationstring | null7.1.0
startDatenumber7.1.0
endDatenumber7.1.0
isAllDayboolean7.1.0
alertsnumber[]Alert times in minutes relative to the event start.7.1.0
urlstring | null7.1.0
descriptionstring | null7.1.0
availabilityEventAvailability | null7.1.0
organizerstring | null7.1.0
colorstring | null7.1.0
durationstring | null7.1.0
isDetachedboolean | null7.1.0
birthdayContactIdentifierstring | null7.1.0
statusEventStatus | null7.1.0
creationDatenumber | null7.1.0
lastModifiedDatenumber | null7.1.0
attendees{ email: string | null; name: string | null; role: AttendeeRole | null; status: AttendeeStatus | null; type: AttendeeType | null; }[]7.1.0
timezonestring | null7.1.0

ListEventsInRangeOptions

PropTypeDescriptionSince
fromnumberThe timestamp in milliseconds.7.1.0
tonumberThe timestamp in milliseconds.7.1.0

Calendar

PropTypeDescriptionSince
idstring7.1.0
titlestring7.1.0
internalTitlestring | nullInternal name of the calendar (CalendarContract.Calendars.NAME).7.1.0
colorstring7.1.0
isImmutableboolean | null7.1.0
allowsContentModificationsboolean | null7.1.0
typeCalendarType | null7.1.0
isSubscribedboolean | null7.1.0
sourceCalendarSource | null7.1.0
visibleboolean | nullIndicates if the events from this calendar should be shown.7.1.0
accountNamestring | nullThe account under which the calendar is registered.7.1.0
ownerAccountstring | nullThe owner of the calendar.7.1.0
maxRemindersnumber | nullMaximum number of reminders allowed per event.7.1.0
locationstring | null7.1.0

CalendarSource

PropTypeSince
typeCalendarSourceType7.1.0
idstring7.1.0
titlestring7.1.0

SelectCalendarsWithPromptOptions

PropTypeDescriptionDefaultSince
displayStyleCalendarChooserDisplayStyleCalendarChooserDisplayStyle.ALL_CALENDARS7.1.0
multiplebooleanAllow multiple selections.false7.1.0

OpenCalendarOptions

PropTypeDefaultSince
datenumberDate.now()7.1.0

CreateCalendarOptions

PropTypeDescriptionSince
titlestring5.2.0
colorstringThe color of the calendar. Should be provided on Android.5.2.0
sourceIdstring5.2.0
accountNamestringOnly needed on Android. Typically set to an email address.7.1.0
ownerAccountstringOnly needed on Android. Typically set to an email address.7.1.0

DeleteCalendarOptions

PropTypeSince
idstring7.1.0

ModifyCalendarOptions

PropTypeSince
idstring7.2.0
titlestring7.2.0
colorstring7.2.0

CreateReminderOptions

PropTypeDescriptionSince
titlestring7.1.0
listIdstring7.1.0
prioritynumber7.1.0
isCompletedboolean7.1.0
startDatenumber7.1.0
dueDatenumber

版本与发布记录

@capgo/capacitor-calendar 共发布 16 个版本,首次发布于 2026/05/28;过去 12 个月发布了 16 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
8.0.15latest2026/10/1525 天前
8.0.142026/10/1327 天前
8.0.132026/10/1030 天前
8.0.122026/10/091 个月前
8.0.102026/10/081 个月前
8.0.112026/10/081 个月前

关于 @capgo/capacitor-calendar 的常见问题

@capgo/capacitor-calendar 是什么?

Capacitor plugin for managing calendar events on iOS and Android, with reminders support on iOS.

如何安装 @capgo/capacitor-calendar?

在项目目录运行 npm install @capgo/capacitor-calendar,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@capacitor/core(>=8.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@capgo/capacitor-calendar 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@capgo/capacitor-calendar 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@capgo/capacitor-calendar 可以商用吗?

@capgo/capacitor-calendar 使用 MPL-2.0 许可。弱 Copyleft:可以商用,也可以和闭源代码一起使用;但如果分发时修改了 MPL 授权的文件,这些文件的修改需以 MPL 开源。以上为概括,不构成法律意见,请以许可原文为准。

@capgo/capacitor-calendar 的下载量有多少?

根据 npm 官方下载统计,@capgo/capacitor-calendar 在 2026/10/09 – 2026/11/07 这 30 天内被下载 47,722 次,日均约 1,591 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@capgo/capacitor-calendar 还在维护吗?

最新版本 8.0.15 发布于 2026/10/15(25 天前);至今共发布 16 个版本,其中过去 12 个月发布了 16 个;首次发布于 2026/05/28。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。