基本上,当我解压缩已存储在 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 中做同样的事情,我会得到 6 个 zip 文件中的条目。
我不太确定“globalInfo.number_entry”应该是什么意思,文件属性?
为什么在 OSX Lion 中处理 zip 文件的方式有所不同?基本上,这意味着我必须将我的项目复制到 Snow Leopard 机器上进行构建并使用从未出现在 OSX Lion 操作系统上的 zipfile.zip,它以某种方式改变了属性,导致解压缩过程改变,导致我的项目中断。
任何人都知道我在这里得到什么?这么小的变化,却是一个巨大的问题。
从 Lion 当我输出 zip 文件结构时,我有:
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