XZArchive

public class XZArchive: Archive

Provides unarchive function for XZ archives.

  • Unarchives XZ archive.

    If data passed is not actually XZ archive, XZError will be thrown. Particularly, if filters other than LZMA2 are used in archive, then XZError.wrongFilter will be thrown.

    If an error happens during LZMA2 decompression, then LZMAError or LZMA2Error will be thrown.

    Throws

    LZMAError, LZMA2Error or XZError depending on the type of the problem. It may indicate that either the archive is damaged or it might not be compressed with XZ or LZMA(2) at all.

    Declaration

    Swift

    public static func unarchive(archive data: Data) throws -> Data

    Parameters

    archive

    Data archived using XZ format.

    Return Value

    Unarchived data.

  • Unarchives XZ archive which contains one or more streams.

    Note

    wrongCheck error contains only last processed stream’s data as their associated value instead of all successfully processed members. This is a known issue and it will be fixed in future major version because solution requires backwards-incompatible API changes.

    Throws

    LZMAError, LZMA2Error or XZError depending on the type of the problem. It may indicate that one of the streams of archive is damaged or it might not be archived with XZ or LZMA(2) at all.

    Declaration

    Swift

    public static func multiUnarchive(archive data: Data) throws -> [Data]

    Parameters

    archive

    XZ archive with one or more streams.

    Return Value

    Unarchived data.