bf844caa7f
Mirror the personal dictionary through iCloud Key-Value Store with deterministic merge rules, main-app-only sync UI, and App Group as the keyboard runtime cache. Add cloud-engine ASR with dictionary bias and expand the bundled custom language model lexicon.
1.6 KiB
1.6 KiB
Personal Dictionary iCloud KVS — Manual Verification Checklist
Use this on macOS with Xcode 16+ and at least two devices signed into the same Apple ID with iCloud Drive / iCloud enabled.
Prerequisites
- In Apple Developer Portal, enable iCloud → Key-value storage for
com.osgkeyboard.ios. - Regenerate provisioning profiles after entitlements change.
- Run
xcodegen generateand install a fresh build on each device.
Scenarios
| # | Steps | Expected |
|---|---|---|
| 1 | Device A: open Personal Dictionary, enable Sync via iCloud, add term TestWordA |
Toggle stays on; term appears locally |
| 2 | Device B: open app → Personal Dictionary tab | TestWordA appears after pull (may take up to ~1 min) |
| 3 | Device B: add TestWordB |
Device A eventually shows both terms |
| 4 | Both devices: edit same term offline, then go online | Newer edit wins; aliases union when terms match |
| 5 | Device A: delete a term | Term disappears on Device B after sync |
| 6 | Device A: disable iCloud sync | Local dictionary remains; Device B stops receiving new edits from A |
| 7 | Sign out of iCloud on one device | App keeps local dictionary; sync errors may surface in UI |
| 8 | Keyboard extension on Device A | Uses App Group cache immediately after main-app save — no iCloud wait |
Notes
- KVS propagation is eventual; force-quit and reopen the app to speed up pulls.
- The keyboard extension never talks to iCloud directly; only the main app syncs.
- Payload limit is ~1 MB per key; very large dictionaries should show the “too large” error.