ChrisNZL / Tallowmere2

Changelog, issue tracker, and development knowledge for Tallowmere 2.
https://tallowmere2.com
13 stars 0 forks source link

iCloud: Key-value storage is inadequate #1082

Closed ChrisNZL closed 1 year ago

ChrisNZL commented 1 year ago

Auto reports from 0.3.6 on iOS. Feedback ID: 20220930-YS6FV

ERROR ยป  Unable to save to cloud. Key-value store has exeeded its space quota on the iCloud server.

Tasks:

ChrisNZL commented 1 year ago

Improvements made in 0.3.6b on iOS to address this:

Next step:

ChrisNZL commented 1 year ago

Existing Unity plugins

Cross-Platform Native Plugins (Voxel Busters)

prime31 iCloud Plugin

HovelHouse iCloud and CloudKit Plugin

IOS Native Pro (Stan's Assets)

Summary

I don't fancy writing my own Objective-C / Swift plugin for using iCloud Containers (CloudKit) if I can help it.

iCloud Key-value storage seems to work okay "most" of the time, though the 1 MB account limit isn't the best.

Other plugins sound too problematic to pursue ditching CloudOnce.

Next steps

The 1 MB limit is potentially a blocker in the long-run. For now, need to try and work around it:

ChrisNZL commented 1 year ago

Or...

Just discovered there is a CloudKit Web Services API, which means I don't have to use a plugin, nor learn Objective-C / Swift โ€“ can just use HTTP requests instead.

... or not. Authenticating using the Web Services API requires signing into Apple using a web view or web browser, which is inappropriate for an iOS game.


Not going to pursue writing my own Swift nor Objective-C plugin. Outside my expertise; not worth my time right now.

Found an official Apple repository for Unity plugins, but there is no plugin for iCloud right now. Submitted a request to Apple via Feedback Assistant.

ChrisNZL commented 1 year ago

For 0.3.7o on iOS (long as Apple approves this):