Version 7.2 |
Fixed NSMetadataQuery predicate filter for files without extensions, fixed ubiquity container bug, migrated to auto-synthesized @properties, enabled modules (new compiler checks for modules), new compiler checks for ARC, new compiler checks for SDK version.
|
Version 7.1 |
Updated init method, fixed double-init of singleton, fixed bug when saving documents, new delegate method, fixed ubiquity URL bugs.
|
Version 7.0 |
Major changes in favor of stability and security. iCloud Document Sync is now a singleton. There are numerous new and updated methods. New delegate methods and protocols. New iCloudDocument features. Automated documentation and framework builds for easier contribution. Plus it fixes numerous bugs and adds an iOS Sample app.
- BREAKING CHANGE Converted the iCloud class to a singleton. This approach makes iCloud Document Sync easier to maintain, and it increases stability. All class methods are now instance methods that must be called with the iCloud singleton manager: sharedCloud. Now when calling a method instead of doing this: [iCloud methodName], do this instead: [[iCloud sharedCloud] methodName].
- BREAKING CHANGE All class methods have been converted to instance methods. With the exception of a few deprecated methods, there are no longer any class methods in iCloud or iCloudDocument.
- BREAKING CHANGE Removed all deprecated methods from previous versions. Any methods previously marked as deprecated no longer exist. Calling any of those methods will result in a compiler error (or a crash).
- BREAKING CHANGE Removed the delegate parameter from uploadLocalOfflineDocumentsWithDelegate: and updateFilesWithDelegate:. These methods have been renamed. Check the documentation for new names.
- BREAKING CHANGE The delegate method, iCloudFilesDidChange: withNewFileNames: now passes an NSMetadataItem in the first parameter instead of an NSURL object. This provides much more information about a file, but will cause an error if you try to access it as an NSURL. To get the URL from the NSMetadataItem, just call [item valueForAttribute:NSMetadataItemURLKey].
- BREAKING CHANGE Revised iCloudDocument properties, methods, structure, and organization. iCloudDocument can now be used as a singleton also. Plus, many properties and methods have changed - both in name and functionality.
- Created iOS Sample app to demonstrate how to properly use many features of iCloud Document Sync. Also beneficial for testing purposes.
- Added file conflict handling methods. Retrieve a list of conflicting versions of a document, select the correct one, and then submit it for resolution.
- Added document change tracking when saving a file to iCloud. Changes to files are automatically saved when saving a file. You can also explicitly update the change count.
- Added document state monitoring methods. You can now subscribe and unsubscribe from document state changes. Check the state of a document at any time too.
- Added rename document method. Now you can rename documents stored in iCloud.
- Added duplicate document method. Now you can duplicate documents stored in iCloud.
- Added evict document method. Evict a document from iCloud storage (download to local app sandbox and then delete from iCloud) by setting it to not be ubiquitous.
- Added promote document method. Promote a document to iCloud storage (upload from local app sandbox to iCloud) by setting it to be ubiquitous.
- Added new method to submit changes to a document.
- Added new methods for retrieving the current ubiquity directory URL
- Added new methods for retrieving an iCloudDocument object based on a given file name
- Added new methods for retrieving information about a document stored in iCloud (file modified date, creation date, and size)
- New protocol / delegate on the iCloudDocument class. Now you can subscribe to errors with UIDocument.
- New delegate method to specify the iCloud query predicate filter: iCloudQueryLimitedToFileExtension
- New delegate method to notify you of changes in the availability of iCloud: iCloudAvailabilityDidChangeToState:withUbiquityToken:withUbiquityContainer:
- New property to enable or disable verbose logging of iCloud Document Sync. Also added a verboseAvailabilityLogging property to toggle the display of availability changes in the log.
- Made improvements to document saving, now closes instead of overwriting the document. Allowing UIDocument to handle versions and changes.
- Made improvements to the checkCloudAvailability method. Now checks for ubiquityIdentityToken instead of the ubiquity container (which was intensive and time consuming).
- All methods check for iCloud availability before executing. A method will return prematurely if iCloud is unavailable. Errors are printed in the console.
- Fixed thread management issues and crashes in iCloudDocument.
- Fixed crash when updating the iCloud list.
- Fixed crash on shareDocumentWithName: completion: method.
- Fixed issues related to thread-management that may have caused crashes in some cases.
- Fixed x86_64 architecture compile issue.
- Improved error reporting.
- Improved exception handling with @try / @catch blocks.
- Improved thread management.
- Updated Xcode project settings.
- Removed the irrelevant timer code and methods.
- Removed iOS Simulator detection. As of Xcode 5.0, the iOS Simulator works with iCloud.
|
Version 6.5 |
Adds support for 64-bit Architecture. The iCloud Framework is now compiled for armv7, armv7s, armv64, and i386.
|
Version 6.4 & 6.4.1 |
Bug Fixes. Fixes Issue #15 and Issue #14. This is a simple bug fix update making changes to the retrieveDocument: method and the iCloudDocument.m / iCloudDocument.h files.
|
Version 6.3 |
Adds new methods. Fixes issues with documentation spelling, etc.
- A new method, shareDocumentWithName: completion:, is now available. Share a file stored in iCloud by uploading it to a public URL.
- Fixed spelling issues with documentation
|
Version 6.2 |
Adds new methods and improves other methods. Fixes issues with documentation spelling, etc.
- A new method, getListOfCloudFiles, is now available. When called, it returns a list of files currently stored in your app's iCloud Documents directory.
- Improved the delete document method. Fixes an issue where the document would not properly close and then delete - resulting in random errors, false positives, and inabaility to delete documents. Now, the deleteDocumentWithName: method works properly.
- Fixed spelling issues with documentation
- Created Macro for Document Directory
|
Version 6.1 |
The use of delegates has been tuned down in favor of completion handlers. Some methods have been deprecated and replaced as a result. Others have been improved.
- The iCloudError delegate method has been replaced with completion blocks. Some completion blocks now contain an NSError parameter which will contain information about any errors that may occur during a file operation.
- A new delegate method has been added to handle file conflicts.
- Three methods have been deprecated in favor of newer methods that provide more information using completion handlers rather than delegates.
- The new method, uploadLocalOfflineDocumentsWithDelegate, has undergone numerous improvements. File conflict handling during upload is now supported - conflicts are automatically delt with. If a conflict cannot be resolved, the new iCloudFileUploadConflictWithCloudFile:andLocalFile: delegate method is called. This method no longer prevents sqlite files from being uploaded - now only hidden files aren't uploaded.
- Major documentation improvements to both the DocSet and the Readme.md
|
Version 6.0 |
Huge UIDocument improvements. iCloud Document Sync now uses UIDocument to open, save, and maintain files. All methods are more stable. Fetching files is faster and more efficient. Many delegate methods have been replaced with completion blocks.
|
Version 5.0 |
All methods have been completely revised and improved. Code is much cleaner. Now uses more efficient UIDocument structure than NSFileManager. Project now also includes a Framework which can be used for easy addition to projects. Better documentation, new methods, and more!
|