将应用程序安装到iPhone时,有没有办法将文件安装到App的Documents文件夹?

时间:2009-12-25 18:51:45

标签: iphone file install documents

将应用程序安装到iPhone时,有没有办法将文件安装到App的Documents文件夹?

换句话说:当用户下载App并将其安装到iPhone上时,我想自动将一些文件安装到App的Documents目录中。

例如:我有一个文件foo.txt,我在开发时为我的App SeeFooRun创建。当App 安装时,我希望foo.txt出现在Documents目录中,这样当我第一次运行App时,我从Documents目录而不是App Bundle访问foo.txt。

谢谢!

在示例中,我说“第一次运行”,当我打算说“安装”时,我改变了句子的其余部分以适应。抱歉混淆了!

3 个答案:

答案 0 :(得分:2)

我会用这种方法做到这一点:

在根plist中创建属性将初始值设置为“NO”运行应用程序时,请检查此值。

如果值为“NO”,则在文档目录中创建文档,将值更改为“YES”并保存该值。

下次运行该应用时,该值将为“YES”,并且不会重建该文件。

希望这会有所帮助.....

答案 1 :(得分:0)

您可以这样做:

NSFileManager *fileManager = [NSFileManager defaultManager];

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];
NSString *pathLocal = [documentsDir stringByAppendingPathComponent:@"foo.txt"];

NSString *pathBundle = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"foo.txt"];

NSError *error;
BOOL success = [fileManager copyItemAtPath:pathBundle toPath:pathLocal error:&error];

答案 2 :(得分:0)

复制到文档答案中的一个微小变化 - 将您复制的所有内容放入您创建的文档中的文件夹中,然后在启动时只需检查是否存在该文件夹,然后进行所有复制。

检查每个文件是否更加健壮,特别是如果您在更新中添加新文件,则复制逻辑将复制到单个新文件中而不会覆盖旧文件。