使用预先存在的NSFileManager代码与iCloud

时间:2012-06-15 21:22:23

标签: ios objective-c file icloud nsfilemanager

我刚刚写了几百行代码来保存文件,打开文件,并在我的iOS应用程序中删除文件......然后我意识到我可能应该在我编写代码时探索iCloud并集成它。

有没有办法将iCloud集成到预先存在的文档结构,类等?或者我是否必须从地面重写我的大部分代码吗?

另外,无论哪种方式,是否有任何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文件所经历的设计/结构:

  1. 文件已复制到iCloud
  2. 然后在本地编辑文件,并将更改上传到iCloud
  3. 不知何故,我们必须检查本地文件是否比iCloud中的文件旧
  4. 我的GitHub项目在某种程度上解决了这个问题的问题,但我无法弄清楚如何从本地目录复制文件而不是移动它们。我遇到的第二个问题是弄清楚如何编辑本地文件并推送更改 - 当我尝试将更改推送到云中的文件时,我得到一个Cocoa错误,其中包含:

      

    可可错误516:文件存在

    最后,我不确定如何检查本地和云文件之间的差异/冲突。我认为问题在于代码的设计和流程 - 但是我认为由于场景需要代码的布局。


    编辑:我读了SO question,这似乎是我所要求的一部分,但是我想提供一个更清晰,更明确答案的赏金。

1 个答案:

答案 0 :(得分:0)