iPhone SDK - 在资源中添加压缩内容,然后解压缩到Documents文件夹中

Mit*_*hin 5 iphone resources zip unzip

我有一些资源(压缩)需要随我的iphone应用程序一起提供.当应用程序第一次启动时,需要将此压缩文件移动/复制到Documents文件夹并将其解压缩到那里.然后,用户可以从应用程序向此路径添加更多文件.有人可以建议我怎样才能做到这一点?

谢谢!

mah*_*udz 6

根据您的上述评论:

我想添加压缩资源的原因是因为有多个文件.如果我不压缩,那么我需要单独移动文件.我还需要在某处维护一个文件列表,以便我可以读取文件名然后移动它们.我认为压缩和解压缩是一个更简单的解决方案.

您可以将所有文件添加到捆绑包中的文件夹中.当应用程序首次启动时,使用快速枚举来运行该文件夹以及它在该文件夹中找到的内容,它将复制到Documents文件夹中.处理文件夹中的文件夹稍微复杂一些(可能会添加递归).这样您就不必担心zip或tar,也不必保留要安装的文件目录.

只需将您想要的文件夹放入Xcode的资源文件夹,并告诉它作为文件夹导入而不是作为一个组.这样,文件就会安装在文件夹内的资源中,而不是整个地方的单个文件.

编辑:

更好的是,按照我的说法将所需的所有文件放在一个文件夹中,添加到您的项目中,但不是作为"组",然后在首次启动时使用:

[[NSFileManager defaultManager] copyItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error];
Run Code Online (Sandbox Code Playgroud)

它会将整个目录从一个地方复制到另一个地方.简单!