From 0e666c825376c1a640cea24c3413abd6dcad1b7c Mon Sep 17 00:00:00 2001 From: iRare Media Date: Thu, 10 Oct 2013 19:25:08 -0400 Subject: [PATCH 1/3] Version 6.3 Adds a share document method to upload iCloud documents to a public URL. Fixes #9 --- .../UserInterfaceState.xcuserstate | Bin 46205 -> 45945 bytes iCloud/iCloud.h | 15 +++++++++++ iCloud/iCloud.m | 24 ++++++++++++++++++ 3 files changed, 39 insertions(+) diff --git a/iCloud.xcodeproj/project.xcworkspace/xcuserdata/Spencers.xcuserdatad/UserInterfaceState.xcuserstate b/iCloud.xcodeproj/project.xcworkspace/xcuserdata/Spencers.xcuserdatad/UserInterfaceState.xcuserstate index 4786ea2c8c4592a80dfe97d35671321c79ebb9b1..f94aa44d696f8b78d7598163095dd24488676bcc 100644 GIT binary patch delta 20215 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 z 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 delta 20139 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 repeatingHandler:(void (^)(NSString *fileName, NSError *error))repeatingHandler completion:(void (^)(void))completion; +/** @name Sharing iCloud Content */ + +/** Share an iCloud document by uploading it to a public URL. + + @discussion Upload a document stored in iCloud for a certain amount of time. + + @param name The name of the iCloud file being uploaded to a public URL + @param handler Code block called when the document is successfully uploaded. The completion block passes NSURL, NSDate, and NSError objects. The NSURL object is the public URL where the file is available at. The NSDate object is the date that the URL expries on. The NSError object contains any error information if an error occurred, otherwise it will be nil. + + @return The public URL where the file is available at + */ + ++ (NSURL *)shareDocumentWithName:(NSString *)name completion:(void (^)(NSURL *sharedURL, NSDate *expirationDate, NSError *error))handler; + + /** @name Deleting content from iCloud */ /** Delete a document from iCloud. diff --git a/iCloud/iCloud.m b/iCloud/iCloud.m index 32291e3..68f7544 100755 --- a/iCloud/iCloud.m +++ b/iCloud/iCloud.m @@ -398,6 +398,30 @@ + (NSArray *)getListOfCloudFiles { return directoryContent; } +//---------------------------------------------------------------------------------------------------------------------------------------------// +//------------ Share --------------------------------------------------------------------------------------------------------------------------// +//---------------------------------------------------------------------------------------------------------------------------------------------// +#pragma mark - Share + ++ (NSURL *)shareDocumentWithName:(NSString *)name completion:(void (^)(NSURL *sharedURL, NSDate *expirationDate, NSError *error))handler { + // Get the URL to get the file from + NSURL *folderURL = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil]; + NSURL *fileURL = [[folderURL URLByAppendingPathComponent:DOCUMENT_DIRECTORY] URLByAppendingPathComponent:name]; + + // Create the Error Object and the Date Object + NSError *error; + NSDate *date; + + // Create the URL + NSURL *url = [[NSFileManager defaultManager] URLForPublishingUbiquitousItemAtURL:fileURL expirationDate:&date error:&error]; + + // Pass the data to the handler + handler(url, date, error); + + // Return the URL + return url; +} + //---------------------------------------------------------------------------------------------------------------------------------------------// //------------ Delete -------------------------------------------------------------------------------------------------------------------------// //---------------------------------------------------------------------------------------------------------------------------------------------// From 7ba170b4d2500c51850b1818823e9ca5fcd2a03c Mon Sep 17 00:00:00 2001 From: iRare Media Date: Thu, 10 Oct 2013 19:28:59 -0400 Subject: [PATCH 2/3] Documentation Update --- README.md | 13 +++++++------ .../UserInterfaceState.xcuserstate | Bin 45945 -> 45842 bytes 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index b7a1944..7db8626 100644 --- a/README.md +++ b/README.md @@ -76,6 +76,13 @@ You can delete documents from iCloud by using the method below. The completion b // Completion handler could be used to update your UI and tell the user that the document was deleted }]; +### Sharing Documents +You can upload an iCloud document to a public URL by using the method below. The completion block is called when the public URL is created. + + NSURL *publicURL = [iCloud shareDocumentWithName:@"docName.ext" completion:^(NSURL *sharedURL, NSDate *expirationDate, NSError *error) { + // Completion handler that passes the public URL created, the expriation date of the URL, and any errors. Could be used to update your UI and tell the user that the document was uploaded + }]; + ### Retrieving Documents and Data You can open and retrieve a document stored in your iCloud documents directory with the method below. This method will attempt to open the specified document. If the file does not exist, a blank one will be created. The completion handler is called when the file is opened or created (either successfully or not). The completion handler contains a UIDocument, NSData, and NSError all of which contain information about the opened document. @@ -118,12 +125,6 @@ iCloud Document Sync delegate methods notify you of the status of iCloud and you

- (void)iCloudFileUploadConflictWithCloudFile:(NSDictionary *)cloudFile andLocalFile:(NSDictionary *)localFile; - - iCloud Error Deprecated - This delegate method was previously used to report errors when reading or writing files. Please use the NSError object provided in all method completion blocks instead of this delegate method. This delegate method is no longer called and may break in future versions. -

- - (void)iCloudError:(NSError *)error - Extra Features diff --git a/iCloud.xcodeproj/project.xcworkspace/xcuserdata/Spencers.xcuserdatad/UserInterfaceState.xcuserstate b/iCloud.xcodeproj/project.xcworkspace/xcuserdata/Spencers.xcuserdatad/UserInterfaceState.xcuserstate index f94aa44d696f8b78d7598163095dd24488676bcc..aceed9eb1a769fc52b0da1712ae037c4c6dcc48e 100644 GIT binary patch delta 19499 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 Date: Thu, 10 Oct 2013 19:30:54 -0400 Subject: [PATCH 3/3] Readme Update --- README.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 7db8626..6b51fe9 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ iCloud Document Sync ================== -iCloud Document Sync helps integrate iCloud into iOS (OS X coming soon) Objective-C document projects with one-line code methods. Sync, upload, manage, and remove documents to and from iCloud with only a few lines of code (compared to the 400+ lines that it usually takes). +iCloud Document Sync helps integrate iCloud into iOS (OS X coming soon) Objective-C document projects with one-line code methods. Sync, upload, manage, and remove documents to and from iCloud with only a few lines of code (compared to the hundreds of lines that it usually takes). If you like the project, please [star it](https://github.com/iRareMedia/iCloudDocumentSync) on GitHub! @@ -76,13 +76,6 @@ You can delete documents from iCloud by using the method below. The completion b // Completion handler could be used to update your UI and tell the user that the document was deleted }]; -### Sharing Documents -You can upload an iCloud document to a public URL by using the method below. The completion block is called when the public URL is created. - - NSURL *publicURL = [iCloud shareDocumentWithName:@"docName.ext" completion:^(NSURL *sharedURL, NSDate *expirationDate, NSError *error) { - // Completion handler that passes the public URL created, the expriation date of the URL, and any errors. Could be used to update your UI and tell the user that the document was uploaded - }]; - ### Retrieving Documents and Data You can open and retrieve a document stored in your iCloud documents directory with the method below. This method will attempt to open the specified document. If the file does not exist, a blank one will be created. The completion handler is called when the file is opened or created (either successfully or not). The completion handler contains a UIDocument, NSData, and NSError all of which contain information about the opened document. @@ -102,6 +95,14 @@ You can also check whether or not a file actually exists in iCloud or not by usi // File Exists in iCloud } +### Sharing Documents +You can upload an iCloud document to a public URL by using the method below. The completion block is called when the public URL is created. + + NSURL *publicURL = [iCloud shareDocumentWithName:@"docName.ext" completion:^(NSURL *sharedURL, NSDate *expirationDate, NSError *error) { + // Completion handler that passes the public URL created, the expriation date of the URL, and any errors. Could be used to update your UI and tell the user that the document was uploaded + }]; + + Delegates ----- iCloud Document Sync delegate methods notify you of the status of iCloud and your documents stored in iCloud. There are no required delegate method for iOS, however it is recommended that you utilize all available delegate methods. @@ -122,7 +123,7 @@ iCloud Document Sync delegate methods notify you of the status of iCloud and you
  • fileURL contains the NSURL pointing to the file. This could possibly be used to gather more information about the file.
  • modifiedDate contains the NSDate representing the last modified date of the file.
  • -

    +
    - (void)iCloudFileUploadConflictWithCloudFile:(NSDictionary *)cloudFile andLocalFile:(NSDictionary *)localFile;