基本上,当我解压缩存储在OSX Lion上的文件时,我将zip文件名作为文件夹,文件夹中包含文件......
所以解压缩zipfile.zip给我文件夹'zipfile',里面有3个文件。
1. zipfile.zip
2. zipfile
->file1
->file2
->file3
BUT
如果在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
并检查Log for:
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机器上进行构建并使用zipfile.zip,该文件从未出现在OSX Lion操作系统上,该系统以某种方式更改了属性,导致解压缩过程改变,导致我的项目破裂。
任何人都知道我在这里得到什么?这么小的变化,但却是一个巨大的问题。
当我输出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
答案 0 :(得分:1)
大图,我猜你在这里得到了两个不同的.zip文件,而不是一个,并且它们的创建方式不同。
首先,您选择了三个文件,右键单击并选择“压缩3个项目”。
另一方面,您选择了一个文件夹,并选择了“压缩(文件夹名称)”
每个条目的完整路径名都存储在zip文件目录中,并且不会神奇地消失。
如果你真的是从两台机器上的完全相同的zip文件开始,那么我会抓取一个真正的解压缩工具的副本(可能已经在/ usr / bin /中有一个)并使用'/ usr / bin / unzip -l zip file.zip'命令查看归档中的内容,而不扩展它。