我正在开发一个Unity项目&面临一个问题。 我有一个包含 mybuild.app (mac)文件的zip文件。
我正在使用SharpZipLib解压缩zip文件。问题是,当lib解压缩时,它实际上将 mybuild.app 作为文件夹&创建一个同名的目录&它的子文件&文件夹。解压缩后 mybuild.app 无法启动。
我认为问题在于.app签名或其他什么。我不应该单独提取.app文件内容。
请告诉我如何从zip获取实际有效的 mybuild.app 文件。
我在mac上使用Unity 3.5.6。
这是我的代码:
using (ZipInputStream s = new ZipInputStream(File.OpenRead(a_filePath)))
{
ZipEntry theEntry;
while ((theEntry = s.GetNextEntry()) != null)
{
Console.WriteLine(theEntry.Name);
string directoryName = Path.GetDirectoryName(theEntry.Name);
string fileName = Path.GetFileName(theEntry.Name);
// create directory
if (directoryName.Length > 0)
{
Debug.Log("Creating Director: " + directoryName);
Directory.CreateDirectory(directoryName);
}
if (fileName != String.Empty)
{
string filename = a_extractPath;
filename += theEntry.Name;
Debug.Log("Unzipping: " + filename);
using (FileStream streamWriter = File.Create(filename))
{
int size = 2048;
byte[] fdata = new byte[2048];
while (true)
{
size = s.Read(fdata, 0, fdata.Length);
if (size > 0)
{
streamWriter.Write(fdata, 0, size);
}
else
{
break;
}
}
}
}
}
}