基本上當我解壓縮已存儲在OSX獅子一個文件,我得到的zip文件名與foler裏面的文件的文件夾...OSX獅子libz進行解壓縮文件的結構變化
所以解鏈的壓縮文件。 zip給我的文件夾'zipfile'裏面有3個文件。
1. zipfile.zip
2. zipfile
->file1
->file2
->file3
但
如果已創建/ OSX中使用豹,我得到了3個文件解壓縮,但不是在文件夾「的壓縮文件」,而在同一個目錄中的zip文件。
所以父文件夾結構「應該」的樣子:
1. zipfile.zip
2. file1
3. file2
4. file3
在OSX的獅子,如果我複製(或創建)我file.zip,並使用其解壓到我的Xcode項目ZipArchive.mm
通過調用
-(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文件的結構,我有:
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
'ZipArchive.mm'從哪裏來? –
ZipArchive是一個使用winzip庫進行壓縮和解壓縮的包裝器,有可能代碼假定文件結構將保持不變,並且已被無聲地破壞或者我們會說混淆。但從來沒有那麼少,最好在更改壓縮和解壓縮過程之前瞭解OSX Lion對文件結構的要求 –
http://code.google.com/p/ziparchive/source/checkout這裏是我從ZipArchive獲取ZipArchive的地方 –