Sample code for 30+ languages & platforms
Swift

Zip a Directory Tree

See more Zip Examples

Demonstrates how to zip an entire directory tree into a .zip archive.

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    let zip = CkoZip()!

    success = zip.newZip(zipPath: "test.zip")
    if success != true {
        print("\(zip.lastErrorText!)")
        return
    }

    // Append a directory tree.  The call to AppendFiles does
    // not read the file contents or append them to the zip
    // object in memory.  It simply appends references
    // to the files so that when WriteZip or WriteZipAndClose 
    // is called, the referenced files are streamed and compressed
    // into the .zip output file.

    var recurse: Bool = true
    success = zip.appendFiles(filePattern: "c:/temp/a/*", recurse: recurse)
    if success != true {
        print("\(zip.lastErrorText!)")
        return
    }

    success = zip.writeAndClose()
    if success != true {
        print("\(zip.lastErrorText!)")
        return
    }

    print("Zip Created!")

}