无论我尝试什么,这都行不通......
我正在尝试使用UIDocument
在本地保存我的(文本)文件。当我创建文件(即未加载)时,它保存得很好。However,如果我通过打开文件然后保存来加载文件,则它根本不会保存。
EDIT:我尝试在应用程序进入后台时保存我的文档。然而,当我进入前台时,该应用程序似乎实际上“完成了保存”文档。我的应用程序是否不允许在后台保存文档?
我检查了我的网址,它们都是有效的。
以下是从头开始制作文档的代码:
document = [[MyDocumentClass alloc] initWithFileURL:fileURL];
fileURL
是之前制作的。
加载时我不会打开或创建它,我只是在用户退出应用程序时保存它。
如果该文件已存在于磁盘上:
下面是打开的代码:
[document openWithCompletionHandler:^(BOOL success){
if (!success) {
NSLog(@"FAILED TO OPEN DOCUMENT");
}
// Code to handle document's data
}];
为了节省:
[document saveToURL:[NSURL fileURLWithPath:path] forSaveOperation:UIDocumentSaveForOverwriting completionHandler:^(BOOL success){
if (!success || document.documentState == UIDocumentStateSavingError) {
NSLog(@"FAILED TO CLOSE DOCUMENT");
}
}];
我的文档正确编码并提供其数据contentsForType: error:
,考虑到它在首次创建时正确保存。
我没有收到任何错误handleError: userInteractionPermitted:
有任何想法吗?
N.B.我将我的数据保存在applicationDidEnterBackground:
以及完成处理程序saveToURL: forSaveOperation: completionHandler:
从来没有被称为...