gpt4 book ai didi

objective-c - OSX Lion libz 解压文件结构发生变化

转载 作者:行者123 更新时间:2023-12-03 18:00:41 27 4
gpt4 key购买 nike

基本上,当我解压缩存储在 OSX Lion 上的文件时,我会得到 zip 文件名作为文件夹,其中包含文件......

因此,解压缩 zipfile.zip 会得到文件夹“zipfile”,其中包含 3 个文件。

1. zipfile.zip
2. zipfile
->file1
->file2
->file3

但是

如果它是在 OSX Leopard 中创建/使用的,我会解压这 3 个文件,但不是在“zipfile”文件夹中,而是在与 zip 文件相同的目录中。

因此父文件夹结构“应该”如下所示:

1. zipfile.zip
2. file1
3. file2
4. file3

在 OSX Lion 中,如果我复制(或创建)我的 file.zip,并使用 ZipArchive.mm 将其解压缩到我的 xcode 项目中

通过电话

-(BOOL) UnzipOpenFile:(NSString*) zipFile

并检查日志:

NSLog([NSString stringWithFormat:@"%d entries in the zip file",globalInfo.number_entry] );

我得到“zip 文件中有 10 个条目。”

如果我在 OSX Leopard 中执行相同操作,我会得到 zip 文件中的 6 个条目。

我不太确定“globalInfo.number_entry”的含义,文件属性?

为什么 OSX Lion 中处理 zip 文件的方式有所不同?基本上,这意味着我必须将我的项目复制到 Snow Leopard 机器上进行构建并使用从未在 OSX Lion 操作系统上运行过的 zipfile.zip,该系统以某种方式更改了属性,导致解压缩过程为更改,导致我的项目失败。

有人知道我在这里得到什么吗?如此小的变化却是一个大问题。

当我输出 zip 文件结构时,来自 Lion:

filename: zipfile/
filename: zipfile/.DS_Store
filename: __MACOSX/
filename: __MACOSX/zipfile/
filename: __MACOSX/zipfile/._.DS_Store
filename: zipfile/file1.db
filename: zipfile/file2.db
filename: __MACOSX/zipfile/._file2.db
filename: zipfile/suburbs.db
filename: __MACOSX/zipfile/._file3.db

来自 OSX Leopard

file1.db
file2.db
__MACOSX/
__MACOSX/._file2.db
file3.db
__MACOSX/._file3.db

最佳答案

总体而言,我猜您在这里获得了两个不同的 .zip 文件,而不是一个,并且它们的创建方式不同。

在其中一个中,您选择了三个文件,右键单击并选择“压缩 3 个项目”。

另一方面,您选择了一个文件夹,并选择了“压缩(文件夹名称)”

每个条目的完整路径名都存储在 zip 文件目录中,并且不会神奇地消失。

如果您确实在两台计算机上从完全相同的 zip 文件开始,那么我会获取一份真正的解压缩工具(/usr/bin/中可能已经有一个)并使用 '/usr/bin/unzip -l zip file.zip' 命令查看存档内的内容,而不扩展它。

关于objective-c - OSX Lion libz 解压文件结构发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7087348/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com