情况:
我有一个 iOS 应用程序,可以处理文件并允许用户保存、编辑、打开这些文件并执行各种操作。我希望能够有一些预制文档供用户在打开应用程序(例如模板)以及他们自己的自定义文档时查看。
问题:
如何创建文档(或模板文件)并在用户安装我的应用程序并启动它(以及之前的所有时间)后将其显示在文档文件夹中?
背景:
该文档(将安装到应用程序文档目录中的文档)是由我而不是用户创建的。
我知道要执行此操作,您需要将其保存在捆绑包中,然后当您的应用程序首次运行时,将其静默复制到文档目录中。我应该将其复制到 appDidFinishLaunchingWithOptions 方法或 viewDidLoad 方法中并编写逻辑来检测应用程序是否是第一次运行吗?
My Code:
在这个网页:http://textsnip.com/d35fbc但是当它运行时,它总是说:“文件不存在[在文档文件夹中]”,然后它告诉我它正在被复制。问题是,当我检查应用程序的文档文件夹时,它永远不在那里,它仍然在捆绑包中。
为什么不能用这段代码复制
这是如何运作的?
事实上,这些文件必须添加到应用程序包中,然后在应用程序启动时以静默方式复制。
以下代码将文本文件从我的包的顶层复制到文档目录(如果该文件尚不存在)。
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *txtPath = [documentsDirectory stringByAppendingPathComponent:@"txtFile.txt"];
if ([fileManager fileExistsAtPath:txtPath] == NO) {
NSString *resourcePath = [[NSBundle mainBundle] pathForResource:@"txtFile" ofType:@"txt"];
[fileManager copyItemAtPath:resourcePath toPath:txtPath error:&error];
}
这段代码的唯一缺陷是,如果用户删除该文件,当他们再次打开应用程序时,该文件会立即重新出现。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)