How to extract dot app(.app) mac file from a zip programmatically?

756 views Asked by At

I am working on a Unity project & facing an issue. I have a zip file containing mybuild.app (mac) file.

I am using SharpZipLib to uncompress the zip file. Issue is, when lib uncompressing, it actually taking mybuild.app as a folder & create a directory with same name & its sub files & folders. After uncompressing mybuild.app is not being able to start.

I think the issue is with .app signature or something. I shouldn't extract .app file content separately.

Please tell me how can i get mybuild.app file from zip which actually works.

I am using Unity 3.5.6 on mac.

Here is my code:

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;
                    }
                }
            }
        }
    }
}
0

There are 0 answers