Skip to content

Commit

Permalink
Version 7.0
Browse files Browse the repository at this point in the history
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. This update also fixes and resolves many of the issues posted to GitHub: Closes #3, Resolves #5, Resolves #11, Fixes #14, Fixes #17, Fixes #18, Resolves #19.
  • Loading branch information
iRare Media committed Nov 29, 2013
1 parent 38ea4a1 commit 233e0b8
Show file tree
Hide file tree
Showing 49 changed files with 728 additions and 69 deletions.
7 changes: 4 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,18 @@ The following details changes made to iCloud Document Sync with each version. Fo
<table>
<tr><th colspan="2" style="text-align:center;"><b>Version 7.0</b></th></tr>
<tr>
<td>Major changes in favor of stability and security. <b>iCloud Document Sync is now a singleton</b>. This update also fixes numerous bugs and begins preparing for both iOS and OS X sample apps, and OS X compatibility.
<td>Major changes in favor of stability and security. iCloud Document Sync is now a <b>singleton</b>. 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.
<ul>
<li><b>BREAKING CHANGE</b> 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: <tt>sharedCloud</tt>. Now when calling a method instead of doing this: <tt>[iCloud methodName]</tt>, do this instead: <tt>[[iCloud sharedCloud] methodName]</tt>.</li>
<li><b>BREAKING CHANGE</b> 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.</li>
<li><b>BREAKING CHANGE</b> 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).</li>
<li><b>BREAKING CHANGE</b> Removed the delegate parameter from <tt>uploadLocalOfflineDocumentsWithDelegate:</tt> and <tt>updateFilesWithDelegate:</tt>. These methods have been renamed. Check the documentation for new names.</li>
<li><b>BREAKING CHANGE</b> The delegate method, <tt>iCloudFilesDidChange: withNewFileNames:</tt> 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 <tt>[item valueForAttribute:NSMetadataItemURLKey]</tt>.</li>
<li><b>BREAKING CHANGE</b> 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.</li>
<li>Created iOS Sample app to demonstrate how to properly use many features of iCloud Document Sync. Also beneficial for testing purposes.</li>
<li>Added file conflict handling methods. Retrieve a list of conflicting versions of a document, select the correct one, and then submit it for resolution.</li>
<li>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.</li>
<li>Added document state monitoring methods. You can now subscribe and unsibscribe from document state changes. Check the state of a document at any time too.</li>
<li>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.</li>
<li>Added rename document method. Now you can rename documents stored in iCloud.</li>
<li>Added duplicate document method. Now you can duplicate documents stored in iCloud.</li>
<li>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.</li>
Expand Down Expand Up @@ -82,7 +83,7 @@ The following details changes made to iCloud Document Sync with each version. Fo
<li>A new delegate method has been added to handle file conflicts.</li>
<li>Three methods have been deprecated in favor of newer methods that provide more information using completion handlers rather than delegates.</li>
<li>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 <tt>iCloudFileUploadConflictWithCloudFile:andLocalFile:</tt> delegate method is called. This method no longer prevents <tt>sqlite</tt> files from being uploaded - now only hidden files aren't uploaded.</li>
<li>Major documentation improvements to both the DocSet and the Readme.</li>
<li>Major documentation improvements to both the DocSet and the Readme.md</li>
</ul>
</td>
</tr>
Expand Down
8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@ Building the Framework for iCloud is easy, just follow these simple steps:
2. When you've finished making changes and testing, select the *Framework* target from the scheme selector in the upper-left corner of Xcode. Click on Build / Run. Xcode will generate the framework and write it to the project folder.

#### Documentation Guidelines
Before submitting any changes, make sure that you've documented those changes. The changes you make should be noted in the Changelog.md file. If necessary, make the appropriate updates in the Readme.md file. You should also write appropriate documentation in the code (using comments). You can use documentation comments to create and modfy documentation. Always write the documentation comments in the header, above the related method, property, etc. Write regular comments with your code in the implementation too. Here's an example of a documentation comment:
Before submitting any changes, make sure that you've documented those changes. The changes you make should be noted in the Changelog.md file. If necessary, make the appropriate updates in the Readme.md file. You should also write appropriate documentation in the code (using comments). You can use documentation comments to create and modify documentation. Always write the documentation comments in the header, above the related method, property, etc. Write regular comments with your code in the implementation too. Here's an example of a documentation comment:

/// One line documentation comments can use the triple forward slash
@property (strong) NSObject *object;

/** Multi-line documentation comments can use the forward slash with a double asterik at the beginning and a single asterick at the end.
/** Multi-line documentation comments can use the forward slash with a double asterisk at the beginning and a single asterisk at the end.
@description Use different keys inside of a multi-line documentation comment to specify various aspects of a method. There are many available keys that Xcode recognizes: @description, @param, @return, @deprecated, @warning, etc. The documentation system also recognizes standard markdown formatting within comments. When building the documentation, this information will be appropriately formatted in Xcode and the Document Browser.

@param parameterName Paramater Description. The @param key should be used for each parameter in a method. Make sure to describe exactly what the parameter does and if it can be nil or not.
@param parameterName Parameter Description. The @param key should be used for each parameter in a method. Make sure to describe exactly what the parameter does and if it can be nil or not.
@return Return value. Use the @return key to specify a return value of a method. */
- (BOOL)alwaysWriteDocumentCommentsAboveMethods:(NSObject *)paramName;

Expand All @@ -52,4 +52,4 @@ Documentation is a fundamental portion of iCloud Document Sync. When you make ch
4. The updated docset file, a raw html folder, and a publish information folder should be written to the project Documentation Folder.

## What to Contribute
Contribute anything, we're open to ideas! Although if you're looking for a little more structure, you can go through the [open issues on GitHub](https://github.com/iRareMedia/iCloudDocumentSync/issues?status=open) or look at the known issues in the [Releases documentation](https://github.com/iRareMedia/iCloudDocumentSync/releases). And if you're feeling adventerous, we're still working on adding OS X Compatibility (wink wink, nudge nudge).
Contribute anything, we're open to ideas! Although if you're looking for a little more structure, you can go through the [open issues on GitHub](https://github.com/iRareMedia/iCloudDocumentSync/issues?status=open) or look at the known issues in the [Releases documentation](https://github.com/iRareMedia/iCloudDocumentSync/releases). And if you're feeling adventurous, we're still working on adding OS X Compatibility (wink wink, nudge nudge).
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleIdentifier</key>
<string>com.iRareMedia.iCloudSDK</string>
<string>com.iRareMedia.iCloud-Framework</string>
<key>CFBundleName</key>
<string>iCloudSDK Documentation</string>
<string>iCloud Framework Documentation</string>
<key>CFBundleShortVersionString</key>
<string>7.0</string>
<key>CFBundleVersion</key>
Expand All @@ -16,11 +16,11 @@


<key>DocSetFallbackURL</key>
<string>https://github.com/iRareMedia/iCloudDocumentSync</string>
<string>https://github.com/iRareMedia/iCloudDocumentSync/tree/master/Documentation/</string>
<key>DocSetFeedName</key>
<string>iCloudSDK Documentation</string>
<string>iCloud Framework Documentation</string>
<key>DocSetFeedURL</key>
<string>https://github.com/iRareMedia/iCloudDocumentSync/publish/iRareMedia.atom</string>
<string>https://github.com/iRareMedia/iCloudDocumentSync/tree/master/Documentation//publish/iRareMedia.atom</string>
<key>DocSetMinimumXcodeVersion</key>
<string>3.0</string>
<key>DocSetPlatformFamily</key>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<body>
<header id="top_header">
<div id="library" class="hideInXcode">
<h1><a id="libraryTitle" href="../index.html">iCloudSDK </a></h1>
<h1><a id="libraryTitle" href="../index.html">iCloud Framework </a></h1>
<a id="developerHome" href="../index.html">iRare Media</a>
</div>

Expand Down Expand Up @@ -292,8 +292,7 @@ <h2 class="subtitle subtitle-overview">Overview</h2>

<p>The <code>iCloud</code> class provides methods to integrate iCloud into document projects.</p>

<p><br />
Adding iCloud Document Sync to your project is easy. Follow these steps below to get everything up and running.</p>
<p>Adding iCloud Document Sync to your project is easy. Follow these steps below to get everything up and running.</p>

<ol>
<li>Drag the iCloud Framework into your project</li>
Expand Down Expand Up @@ -2470,7 +2469,7 @@ <h4 class="method-subtitle">Declared In</h4>
<div id="footer">
<hr />
<div class="footer-copyright">
<p><span class="copyright">&copy; 2013 iRare Media. All rights reserved. (Last updated: 2013-11-27)</span><br />
<p><span class="copyright">&copy; 2013 iRare Media. All rights reserved. (Last updated: 2013-11-29)</span><br />

<span class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2 (build 963)</a>.</span></p>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<body>
<header id="top_header">
<div id="library" class="hideInXcode">
<h1><a id="libraryTitle" href="../index.html">iCloudSDK </a></h1>
<h1><a id="libraryTitle" href="../index.html">iCloud Framework </a></h1>
<a id="developerHome" href="../index.html">iRare Media</a>
</div>

Expand Down Expand Up @@ -452,7 +452,7 @@ <h4 class="method-subtitle">Declared In</h4>
<div id="footer">
<hr />
<div class="footer-copyright">
<p><span class="copyright">&copy; 2013 iRare Media. All rights reserved. (Last updated: 2013-11-27)</span><br />
<p><span class="copyright">&copy; 2013 iRare Media. All rights reserved. (Last updated: 2013-11-29)</span><br />

<span class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2 (build 963)</a>.</span></p>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<body>
<header id="top_header">
<div id="library" class="hideInXcode">
<h1><a id="libraryTitle" href="../index.html">iCloudSDK </a></h1>
<h1><a id="libraryTitle" href="../index.html">iCloud Framework </a></h1>
<a id="developerHome" href="../index.html">iRare Media</a>
</div>

Expand Down Expand Up @@ -941,7 +941,7 @@ <h4 class="method-subtitle">Declared In</h4>
<div id="footer">
<hr />
<div class="footer-copyright">
<p><span class="copyright">&copy; 2013 iRare Media. All rights reserved. (Last updated: 2013-11-27)</span><br />
<p><span class="copyright">&copy; 2013 iRare Media. All rights reserved. (Last updated: 2013-11-29)</span><br />

<span class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2 (build 963)</a>.</span></p>

Expand Down

0 comments on commit 233e0b8

Please sign in to comment.