My application creates a PDF file and I want to save this pdf document to iCloud Drive programmatically using fast 3 .
For example, here I used a text file to save to iCloud Drive.
This is my code:
func copyDocumentsToiCloudDrive() { var error: NSError? let iCloudDocumentsURL = FileManager.default.url(forUbiquityContainerIdentifier: nil)?.appendingPathComponent("myCloudTest") do{ //is iCloud working? if iCloudDocumentsURL != nil { //Create the Directory if it doesn't exist if (!FileManager.default.fileExists(atPath: iCloudDocumentsURL!.path, isDirectory: nil)) { //This gets skipped after initial run saying directory exists, but still don't see it on iCloud try FileManager.default.createDirectory(at: iCloudDocumentsURL!, withIntermediateDirectories: true, attributes: nil) } } else { print("iCloud is NOT working!") // return } if error != nil { print("Error creating iCloud DIR") } //Set up directorys let localDocumentsURL = FileManager.default.urls(for: FileManager.SearchPathDirectory.documentDirectory, in: .userDomainMask).last! as NSURL //Add txt file to my local folder let myTextString = NSString(string: "HELLO WORLD") let myLocalFile = localDocumentsURL.appendingPathComponent("myTextFile.txt") _ = try myTextString.write(to: myLocalFile!, atomically: true, encoding: String.Encoding.utf8.rawValue) if ((error) != nil){ print("Error saving to local DIR") } //If file exists on iCloud remove it var isDir:ObjCBool = false if (FileManager.default.fileExists(atPath: iCloudDocumentsURL!.path, isDirectory: &isDir)) { try FileManager.default.removeItem(at: iCloudDocumentsURL!) } //copy from my local to iCloud if error == nil { try FileManager.default.copyItem(at: localDocumentsURL as URL, to: iCloudDocumentsURL!) } } catch{ print("Error creating a file") } }
This code works without errors. But do not show the saved file in iCloud Drive.
I link to this link and I wrote this code.
source share