0.0.6 • Published 1 month ago

@serebano/capacitor-plugin-icloud-kv v0.0.6

Weekly downloads
-
License
MIT
Repository
github
Last release
1 month ago

@serebano/capacitor-plugin-icloud-kv

Capacitor 7 plugin for syncing simple key‑value preferences across iCloud on iOS.

Install

npm install @serebano/capacitor-plugin-icloud-kv
npx cap sync

⚙️ iOS Setup

Enable iCloud + Key-Value Storage in Xcode:

  1. Open ios/App.xcworkspace.
  2. Select your app target → Signing & Capabilities.
  3. Add iCloud capability and check Key‑Value Storage.

📦 Usage

import { ICloudKV } from '@serebano/capacitor-plugin-icloud-kv';

ICloudKV.addListener('icloudKVDidChange', data => {
  console.log('Synced keys:', data.keys, 'reason:', data.reason);
});

await ICloudKV.set({ key: 'theme', value: 'dark' });
const result = await ICloudKV.get({ key: 'theme' });
console.log('Theme:', result.value);

API

echo(...)

echo(options: { value: string; }) => Promise<{ value: string; }>
ParamType
options{ value: string; }

Returns: Promise<{ value: string; }>


set(...)

set(options: { key: string; value: ICloudKVValue; }) => Promise<void>
ParamType
options{ key: string; value: ICloudKVValue; }

get(...)

get(options: { key: string; }) => Promise<{ value?: ICloudKVValue; }>
ParamType
options{ key: string; }

Returns: Promise<{ value?: ICloudKVValue; }>


addListener('icloudKVDidChange', ...)

addListener(eventName: 'icloudKVDidChange', listenerFunc: (data: { reason: ICloudKVSyncReason; keys: string[]; }) => void) => Promise<PluginListenerHandle>
ParamType
eventName'icloudKVDidChange'
listenerFunc(data: { reason: ICloudKVSyncReason; keys: string[]; }) => void

Returns: Promise<PluginListenerHandle>


Interfaces

Date

Enables basic storage and retrieval of dates and times.

MethodSignatureDescription
toString() => stringReturns a string representation of a date. The format of the string depends on the locale.
toDateString() => stringReturns a date as a string value.
toTimeString() => stringReturns a time as a string value.
toLocaleString() => stringReturns a value as a string value appropriate to the host environment's current locale.
toLocaleDateString() => stringReturns a date as a string value appropriate to the host environment's current locale.
toLocaleTimeString() => stringReturns a time as a string value appropriate to the host environment's current locale.
valueOf() => numberReturns the stored time value in milliseconds since midnight, January 1, 1970 UTC.
getTime() => numberGets the time value in milliseconds.
getFullYear() => numberGets the year, using local time.
getUTCFullYear() => numberGets the year using Universal Coordinated Time (UTC).
getMonth() => numberGets the month, using local time.
getUTCMonth() => numberGets the month of a Date object using Universal Coordinated Time (UTC).
getDate() => numberGets the day-of-the-month, using local time.
getUTCDate() => numberGets the day-of-the-month, using Universal Coordinated Time (UTC).
getDay() => numberGets the day of the week, using local time.
getUTCDay() => numberGets the day of the week using Universal Coordinated Time (UTC).
getHours() => numberGets the hours in a date, using local time.
getUTCHours() => numberGets the hours value in a Date object using Universal Coordinated Time (UTC).
getMinutes() => numberGets the minutes of a Date object, using local time.
getUTCMinutes() => numberGets the minutes of a Date object using Universal Coordinated Time (UTC).
getSeconds() => numberGets the seconds of a Date object, using local time.
getUTCSeconds() => numberGets the seconds of a Date object using Universal Coordinated Time (UTC).
getMilliseconds() => numberGets the milliseconds of a Date, using local time.
getUTCMilliseconds() => numberGets the milliseconds of a Date object using Universal Coordinated Time (UTC).
getTimezoneOffset() => numberGets the difference in minutes between the time on the local computer and Universal Coordinated Time (UTC).
setTime(time: number) => numberSets the date and time value in the Date object.
setMilliseconds(ms: number) => numberSets the milliseconds value in the Date object using local time.
setUTCMilliseconds(ms: number) => numberSets the milliseconds value in the Date object using Universal Coordinated Time (UTC).
setSeconds(sec: number, ms?: number | undefined) => numberSets the seconds value in the Date object using local time.
setUTCSeconds(sec: number, ms?: number | undefined) => numberSets the seconds value in the Date object using Universal Coordinated Time (UTC).
setMinutes(min: number, sec?: number | undefined, ms?: number | undefined) => numberSets the minutes value in the Date object using local time.
setUTCMinutes(min: number, sec?: number | undefined, ms?: number | undefined) => numberSets the minutes value in the Date object using Universal Coordinated Time (UTC).
setHours(hours: number, min?: number | undefined, sec?: number | undefined, ms?: number | undefined) => numberSets the hour value in the Date object using local time.
setUTCHours(hours: number, min?: number | undefined, sec?: number | undefined, ms?: number | undefined) => numberSets the hours value in the Date object using Universal Coordinated Time (UTC).
setDate(date: number) => numberSets the numeric day-of-the-month value of the Date object using local time.
setUTCDate(date: number) => numberSets the numeric day of the month in the Date object using Universal Coordinated Time (UTC).
setMonth(month: number, date?: number | undefined) => numberSets the month value in the Date object using local time.
setUTCMonth(month: number, date?: number | undefined) => numberSets the month value in the Date object using Universal Coordinated Time (UTC).
setFullYear(year: number, month?: number | undefined, date?: number | undefined) => numberSets the year of the Date object using local time.
setUTCFullYear(year: number, month?: number | undefined, date?: number | undefined) => numberSets the year value in the Date object using Universal Coordinated Time (UTC).
toUTCString() => stringReturns a date converted to a string using Universal Coordinated Time (UTC).
toISOString() => stringReturns a date as a string value in ISO format.
toJSON(key?: any) => stringUsed by the JSON.stringify method to enable the transformation of an object's data for JavaScript Object Notation (JSON) serialization.

PluginListenerHandle

PropType
remove() => Promise<void>

Type Aliases

ICloudKVValue

Supported data types for iCloud Key-Value storage These correspond to the types supported by NSUbiquitousKeyValueStore

string | number | boolean | Date | ICloudKVValue[] | { key: string: ICloudKVValue }

Enums

ICloudKVSyncReason

MembersValueDescription
SERVER_CHANGE0Change came from iCloud
INITIAL_SYNC_CHANGE1Initial sync occurred
QUOTA_VIOLATION_CHANGE2Change removed due to quota violations
ACCOUNT_CHANGE3iCloud account changed
0.0.6

1 month ago

0.0.5

1 month ago

0.0.4

1 month ago

0.0.3

1 month ago

0.0.2

1 month ago

0.0.1

1 month ago