내용으로 건너뛰기

Getting Started

GitHub

AI-Assisted Setup을 사용하여 플러그인을 설치할 수 있습니다. AI 도구에 다음 명령어를 사용하여 Capgo 스킬을 추가하세요:

터미널 창
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

다음 명령어를 사용하세요:

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

만약 Manual Setup을 선호한다면, 다음 명령어를 실행하여 플러그인을 설치하고 아래의 플랫폼별 지침을 따르시오:

터미널 창
npm install @capgo/capacitor-calendar
npx cap sync

앱에 필요한 사용 설명을 추가하세요. ios/App/App/Info.plist:

<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>

iOS 17 이상은 쓰기 전용 및 전체 캘린더 접근을 구분합니다.만약 앱이 Reminders API를 호출한다면, 알람 사용 설명만 포함하세요.

애플 참고자료: 최신 캘린더 접근 수준으로 마이그레이션하는 방법.

Android 설정

Android 설정 제목

__CAPGO_KEEP_0__의 캘린더 권한을 필요로 하는 앱에 추가하십시오. android/app/src/main/AndroidManifest.xml:

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

Android 참조: 캘린더 제공자 사용자 권한.

import { CapacitorCalendar } from '@capgo/capacitor-calendar';
const permission = await CapacitorCalendar.requestFullCalendarAccess();
if (permission.result !== 'granted') {
throw new Error('Calendar permission was not granted');
}

캘린더에 이벤트만 추가하는 앱의 경우 사용하십시오. requestWriteOnlyCalendarAccess(). Android 전용 읽기 흐름의 경우 사용하십시오. requestReadOnlyCalendarAccess().

__CAPGO_KEEP_3__은 밀리초 단위의 Unix 타임스탬프입니다.

import { CapacitorCalendar } from '@capgo/capacitor-calendar';
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);

__CAPGO_KEEP_1__

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

__CAPGO_KEEP_3__ null__CAPGO_KEEP_4__

__CAPGO_KEEP_5__

__CAPGO_KEEP_2__
const now = Date.now();
const oneWeekFromNow = now + 7 * 24 * 60 * 60 * 1000;
const { result: events } = await CapacitorCalendar.listEventsInRange({
from: now,
to: oneWeekFromNow,
});

__CAPGO_KEEP_6__

__CAPGO_KEEP_7__
const { result: calendars } = await CapacitorCalendar.listCalendars();
const { result: defaultCalendar } = await CapacitorCalendar.getDefaultCalendar();
const calendarId = defaultCalendar?.id ?? calendars[0]?.id;

selectCalendarsWithPrompt() iOS에서 시스템 캘린더 픽커를 보여주고 싶을 때 사용할 수 있습니다.

iOS 알림 만들기

iOS 알림 만들기 섹션
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',
});
}

iOS 전용 알림 API가 있습니다.

The repository includes a Capacitor example app with permission checks, event creation, native event prompts, calendar listing, and event range listing.

iOSAndroid
네이티브 캘린더 이벤트 생성의 iOS 데모네이티브 캘린더 이벤트 생성의 Android 데모

API 참고 자료는 패키지 README 및 TypeScript 정의에서 완전하게 관리됩니다.