我刚刚在我的 iOS 应用程序中编写了几百行用于保存文件、打开文件和删除文件的代码……然后我意识到我可能应该探索 iCloud 并在编写代码时集成它。
有没有办法将 iCloud 集成到预先存在的文档结构中,nsfilemanager类等? 还是我必须从头开始重写我的大部分代码?
此外,无论哪种方式,是否有任何 iCloud 项目 (similar to this one) 可以让我轻松集成 iCloud Document Sync?
只是我正在使用的一些代码的快速示例:
//Begin saving file
NSLog(@"Began Saving File");
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:filetitle];
//Get the user's keyword preference
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
BOOL enabled = [defaults boolForKey:@"completeFile"];
[[NSString stringWithFormat:@"Message:%@", MessageText] writeToFile:filePath atomically:TRUE encoding:NSUTF8StringEncoding error:NULL];
编辑:我在 GitHub 上创建了一个名为 iCloud Document Sync 的项目这使开发人员可以轻松地将 iCloud 与其基于文档的 iOS 应用程序集成。问题是它并没有真正遵循普通 iCloud 文件所经历的设计/结构:
我的 GitHub 项目在一定程度上解决了这个问题,但我不知道如何 复制 本地目录中的文件,而不是移动它们。我遇到的第二个问题是弄清楚如何编辑该本地文件并推送更改 - 当我尝试将更改推送到云中的文件时,我收到一个 Cocoa 错误,上面写着:
Cocoa Error 516: File Exists
最后,我不确定如何检查本地文件和云文件之间的差异/冲突。我认为问题在于代码的设计和流程 - 但是我认为由于场景需要代码的布局。
编辑:我读了这个 SO question ,这似乎是我要问的一部分,但是我想提供赏金以获得更清晰和更明确的答案。
最佳答案
这可能会有所帮助。这就是苹果在其文档中描述的方式。 https://developer.apple.com/library/mac/#documentation/General/Conceptual/iCloudDesignGuide/Chapters/DesigningForDocumentsIniCloud.html#//apple_ref/doc/uid/TP40012094-CH2-SW1
关于ios - 在 iCloud 中使用预先存在的 NSFileManager 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11058350/