[preferences] Sync Preferences over iCloud for iOS
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
Research direction
Start with the @capacitor/preferences plugin and the NSUbiquitousKeyValueStore API described in the issue, then review the linked Apple documentation and tutorial. Define the behavior for keys with a specific prefix on iOS and clarify the scope for other Apple or Android platforms; done means the selected preferences sync between the user's devices.
Written by the indexing model from the issue text.
Description
Feature Request
Plugin
@capacitor/preferences
Description
The @capacitor/preferences plugin currently uses UserDefaults on iOS, which is great, as the preferences are stored locally and included in backups. However, the preferences are not synced between user's devices. Even though for most preferences it would probably make sense to sync them for all the user's devices.
Platform(s)
iOS (and all Apple platforms): via NSUbiquitousKeyValueStore: https://developer.apple.com/documentation/foundation/userdefaults
Android: probably has some equivalent?
Preferred Solution
iOS: add support for syncing keys with a specific prefix with NSUbiquitousKeyValueStore: https://developer.apple.com/documentation/foundation/nsubiquitouskeyvaluestore
Tutorial I found: https://www.answertopia.com/ios/synchronizing-ios-key-value-data-using-icloud/
Alternatives
Implement this as a native plugin myself. I would probably do for NSUbiquitousKeyValueStore for iOS, since that's the Apple-approved way to sync preferences between user's devices.
Additional Context
nA
- Dominant language
- Java
- Stars
- 682
- Forks
- 689
- Avg merge
- 5d 11h
- Merged PRs (30d)
- 3
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ionic-team/capacitor-plugins
-
[@capacitor/app] iOS: 'Expression implicitly coerced from String? to Any' warning in getAppLanguageOpentriage
Difficulty 1/5 Under an hour Newbie friendliness 88/100
ionic-team/capacitor-plugins#2604 ·
-
platform: ios
Difficulty 4/5 3-5 days Newbie friendliness 58/100
ionic-team/capacitor-plugins#2603 · 1 comment ·
-
platform: android
Difficulty 3/5 1-2 days Newbie friendliness 76/100
ionic-team/capacitor-plugins#2599 ·
-
platform: ios
Difficulty 3/5 1-2 days Newbie friendliness 68/100
ionic-team/capacitor-plugins#2595 · 1 reaction ·
-
platform: android triage
Difficulty 4/5 3-5 days Newbie friendliness 48/100
ionic-team/capacitor-plugins#2593 ·
All issues in ionic-team/capacitor-plugins
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
apache/arrow-java#1311 ·
Maintainers usually reply within 2 days
-
bug triage
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
security
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
IBM/networking-java-sdk#204 ·