【问题标题】:Add Zip file to project and get location将 Zip 文件添加到项目并获取位置
【发布时间】:2013-05-04 03:41:30
【问题描述】:

我有一个名为 test.zip 的 zip 文件,我想将它添加到我的 xcode 项目中。此 zip 文件将在第一次(也是唯一一次)应用程序启动时解压缩。通常当我添加文件时,我只是抓取它们并将它们拖到我的 xcode 项目中。我正在使用以下代码 从这个libary

NSString *zipPath = @"path_to_your_zip_file";
NSString *destinationPath = @"path_to_the_folder_where_you_want_it_unzipped";
[SSZipArchive unzipFileAtPath:zipPath toDestination:destinationPath];

现在,如果我通过将 test.zip 文件拖放到我的项目中来添加它,那么我的 zipPath 会是什么?类似的,谁能告诉我解压缩文件的正确位置在哪里?我会假设在文档目录的某个地方。

谢谢!

【问题讨论】:

    标签: ios objective-c xcode


    【解决方案1】:

    您可以通过这种方式保存文件,请确保为 youzipfilename

    提供正确的文件名
    NSString *zipPath = [[NSBundle mainBundle] pathForResource:@"youzipfilename" ofType:@"zip"];
    NSString *appDirectory = [NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES) lastObject];
    [SSZipArchive unzipFileAtPath:zipPath toDestination:appDirectory];
    

    【讨论】:

    • 完美,正是我想要的。谢谢你。最后一个问题,我将如何写入库而不是 documentDirectory? H2CO3 注意到文件目录可以被用户读取。谢谢!
    • 好的,我稍微改了一下代码,现在它保存在不同的地方。现在不在 ApplicationSupportDirectory 中的文档目录中。这是我们保存应该对用户隐藏的文件的地方。
    • 谢谢。我接受了您的回答,但出于好奇,目标路径是否应该包含“destzipfile.zip”?它不应该只是 NSApplicationSupportDirectory 的位置吗?
    • 是的,你是对的。根据您使用的库,它只是我们应该提供的目标目录。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多