iCloud for Unity – Release Notes

iCloud for Unity

iCloud for Unity let’s you put your data in the cloud as easy as A.B.C.

Available from those stores:

v2.0.2 – Unity 3.5.7+ – Requires Unity iOS (Basic or Pro) or Unity Pro

2.0.2 (03/11/2013)

- Fixed a potential issue when trying to write to a file that was not yet downloaded from iCloud.

2.0 (02/27/2013)

- Rewrote at least 50% of the plugin, numerous BREAKING CHANGES. Please read changes and migration guide.
- Removed syncrhonous JCloudDocument API, renamed JCloudDocumentAsync to JCloudDocument as this is now the default and only API for file access.
- Removed JCloudDictionary API as this was obsolete (Apple was rejecting apps using this API). If JCloudData doesn’t fit, use file storage.
- Removed JCloudRoutine API. You still need coroutines but just need to yield until async operations are finished. See code examples and migration guide.
- Renamed JCloudDocumentAsyncOperation to JCloudDocumentOperation and changed its structure. See migration guide.
- Fixed late downloading issues on iOS 6.0+ which could cause read operations to erroneously return empty files if they were not downloaded yet.
- Implemented conflict resolution in JCloudData.
- The native plugin now uses NSMetadataQuery which incurs a little global slowdown (barely noticeable but still there).
- Fixed JCloudData changes monitoring watchdog gameobject not marked as DontDestroyOnLoad (plus it now uses JCloudManager object).
- Proper handling of iCloud enabling/disabling during pause/background.
- Unity 3.5.7 is now a base requirement (may work on older versions…).
- Please read the migration guide!

1.4 (11/27/2012)

- Unity 3.5.6 is now a base requirement as builds made with Unity 3.4.2 won’t run anymore with Xcode 4.5
- iOS 4.3 is now a base requirement as Xcode 4.5 won’t compile for any previous OS version (thanks to Apple…)
- armv7 is now a base requirement as Xcode 4.5 won’t compile for armv6 chips (thanks to Apple again…)
- Added jailbreaking detection for iOS and a switch to turn iCloud off on those devices due to reports with issues (you have to enable it on each JCloudData, JCloudDictionary, JCloudDocument and JCloudDocumentAsync classes, e.g. ‘JCloudData.AcceptJailbrokenDevices = false’)
- Fixed script error with WebPlayer build
- Fixed some warnings on Unity 4
- Fixed some memory leaks
- Fixed linking issues when building the plugin from source for iOS

1.36 (06/15/2012)

- Fixed an issue with JCloudData.GetString and JCloudDictionary.GetString which could sometimes return incorrect results
- Future-proofed some memory management methods

1.35 (06/13/2012)

- Improved reliability when accessing the same file multiple times concurrently to prevent a race condition where the file would lock
- Internal rework for better handling of file access synchronization

1.3 (04/30/2012)

- New: Added JCloudDocumentAsync for asynchronous manipulation of files and directories using coroutines in a similar manner to LoadLevelAsync.
- New: Added JCloudCoroutine (based on Mike Talbot’s “Extended Unity Coroutines” code) as a tool to emulate YieldInstruction for async operations.
- Examples scenes have been updated with the new async methods. Async methods are now the preferred implementation.
- Many under-the-hood enhancements and reworks for better reliability and simplicity.

1.21 (04/26/2012)

- JCloudDocument now uses a unique GameObject manager to communicate with the plugin. This object is instantiated automatically and is set as DontDestroyOnLoad. Just make sure you don’t mess with the JCloudManager object.
- Fixed synchronization issues between the plugin managed code and unmanaged code which could result in errors when using threading.
- Internal rework for cleaner code, better performance and future improvements (asynchronous methods using coroutines).

1.2 (04/24/2012)

- Added FileCopy and DirectoryCopy methods to JCloudDocument in order to easily make copies of files and directories.
- Added FileMove and DirectoryMove methods to JCloudDocument in order to easily move or rename files and directories.
- Fixed potential crashes with certain Android devices not liking the mere existence of the plugin’s DllImport despite the fact that their functions never actually get called.
- Fixed memory leaks when using JCloudPlugin methods in Mono threads.

1.19 (04/03/2012)

- Fixed a rare condition where JCloudDictionary could cause crashes when simultaneously setting a key and saving.

1.18 (03/25/2012)

- Fixed WebPlayer support (using PlayerPrefs).
- Improved reliability of JCloudDictionary.
- Fixed an edge case with OS X deployment using JCloudDictionary without sandboxing.

1.16 (02/17/2012)

- Removed AccountSettings directory that was not supposed to be published in the package.

1.15 (02/17/2012)

- New directory structure so that Plugins folder is at the top-level for proper plugin bundling. Please delete your previous JCloudPlugin directory before importing this new version.
- Fixed declaration errors for JCloudData.SetFloat and JCloudDictionary.SetFloat.

1.1 (02/17/2012)

- Callbacks for JCloudData and JCloudDictionary notifying updates from iCloud.
- Methods for getting modification date of JCloudDocument files and directories.
- Under-the-hood enhancements paving the way for asynchronous API.

1.0 (12/28/2011)

- Initial release.