ZipArchive is a simple utility class for zipping and unzipping files on iOS, macOS and tvOS.

Overview

CI

SSZipArchive

ZipArchive is a simple utility class for zipping and unzipping files on iOS, macOS and tvOS.

  • Unzip zip files;
  • Unzip password protected zip files;
  • Unzip AES encrypted zip files;
  • Create zip files;
  • Create large (> 4.3Gb) files;
  • Create password protected zip files;
  • Create AES encrypted zip files;
  • Choose compression level;
  • Zip-up NSData instances. (with a filename)

Installation and Setup

The main release branch is configured to support Objective-C and Swift 3+.

SSZipArchive works on Xcode 7-11 and above, iOS 9-13 and above, tvOS 9 and above, macOS 10.9-10.15 and above, watchOS 2 and above.

CocoaPods

In your Podfile:
pod 'SSZipArchive'

You should define your minimum deployment target explicitly, like: platform :ios, '9.0'

Recommended CocoaPods version should be at least CocoaPods 1.7.5.

SPM

Add a Swift Package reference to https://github.com/ZipArchive/ZipArchive.git (SSZipArchive 2.3.0 and higher or master)

Carthage

In your Cartfile:
github "ZipArchive/ZipArchive"

Note: We are no longer releasing a Carthage pre-built package as of 2.2.3. Developers are encouraged to build one themselves.

Manual

  1. Add the SSZipArchive and minizip folders to your project.
  2. Add the libz and libiconv libraries to your target.
  3. Add the Security framework to your target.
  4. Add the following GCC_PREPROCESSOR_DEFINITIONS: HAVE_INTTYPES_H HAVE_PKCRYPT HAVE_STDINT_H HAVE_WZAES HAVE_ZLIB $(inherited).

SSZipArchive requires ARC.

Usage

Objective-C

//Import "#import <ZipArchive.h>" for SPM/Carthage, and "#import <SSZipArchive.h>" for CocoaPods.

// Create
[SSZipArchive createZipFileAtPath:zipPath withContentsOfDirectory:sampleDataPath];

// Unzip
[SSZipArchive unzipFileAtPath:zipPath toDestination:unzipPath];

Swift

//Import "import ZipArchive" for SPM/Carthage, and "import SSZipArchive" for CocoaPods.

// Create
SSZipArchive.createZipFileAtPath(zipPath, withContentsOfDirectory: sampleDataPath)

// Unzip
SSZipArchive.unzipFileAtPath(zipPath, toDestination: unzipPath)

License

SSZipArchive is protected under the MIT license and our slightly modified version of minizip-ng (formally minizip) 3.0.2 is licensed under the Zlib license.

Acknowledgments

  • Big thanks to aish for creating ZipArchive. The project that inspired SSZipArchive.
  • Thank you @soffes for the actual name of SSZipArchive.
  • Thank you @randomsequence for implementing the creation support tech.
  • Thank you @johnezang for all his amazing help along the way.
  • Thank you @nmoinvaz for minizip-ng (formally minizip), the core of ZipArchive.
  • Thank you to all the contributors.
Comments
  • exc_bad_access code=1 address=0x7

    exc_bad_access code=1 address=0x7

    when i using [SSZipArchive unzipFileAtPath:zipPath toDestination: unzipPath] i meet the err msg: [directoriesModificationDates addObject: @{@"path": fullPath, @"modDate": modDate}]; (NSMutableArray *) directoriesModificationDates = 0x0000000000000007 what can i do to avoid this?

    needs-review needs-reproduction 
    opened by thereqwe 38
  • support for archiving symlinks

    support for archiving symlinks

    I needed the ability to make archives containing symlinks and I have something working that could maybe be useful.

    It definitely needs someone to give it a critical look, as I have only been a casual user of SSZipArchive.

    The PR does 3 things:

    1. Changes the VERSIONMADEBY macro to 3 which means Unix as opposed to MS-DOS. This is required for symlink flags to be respected and both iOS and macOS seem much closer to Unix than MS-DOS, but there could very well be side-effects to this change.

    2. Adjusted the logic that enumerates a directory to look for files, directories and now symlinks in createZipFileAtPath:...

    3. Made a new method to write symlinks: -writeSymlinkAtPath:withFilename:targetName:withPassword:

    feature 
    opened by palmin 25
  • Unable to decrypt files with Carthage library

    Unable to decrypt files with Carthage library

    I am trying to use ZipArchive 2.2.2 (downloaded via Carthage) on both macOS and iOS, and have not been able to decrypt a few example files made with other programs. Attached are 2 sample example files that I am not able to decrypt:

    • test7z.zip (created with 7zip on Windows, using AES-256)
    • testcsharp.zip (created using SharpZipLib on Windows, using AES-128)

    The password for both files is "PositionDescribeMexico" and contained within is one small text file.

    I am able to open/extract the files using 7zip and PKZIP on Windows, and Keka on macOS.

    I made basic changes to the example ZipArchive program to do this testing, using the attached files.

    test7z.zip testcsharp.zip

    Edit 1: I just built minizip from source and ran the minizip_cmd, which IS able to decrypt/extract both files.

    Edit 2: FML, the issue on Mac was due to entitlements and running in a sandbox so it couldn't read my file. (I was able to debug by using Cocoapods with full source.) Knowing that the library does work, I will now dig deeper into what the issue is on iOS...

    needs-reproduction 
    opened by hooby3dfx 21
  • Large OSX Zip Archives (>4 GB) did not work

    Large OSX Zip Archives (>4 GB) did not work

    I have noticed, that large Zip Archives (>4 GB) which are created with OSX are not working with minizip. I think it depends on some Meta Files which are created on the Compressing process. Is it possible to clean the Archives before unzipping the Archives ? It is also silly that some __MACOSX directorys are created in the Documents Directory.

    feature help wanted 
    opened by 0x68 21
  • CocoaPods podspec file has not been updated

    CocoaPods podspec file has not been updated

    The CocoaPods podspec file has not been updated for a while so we cannot easily pickup these great changes that have been added recently. Will the podspec file and release tag be update soon?

    help wanted 
    opened by larryaasen 20
  • Adding support for Swift Package Manager

    Adding support for Swift Package Manager

    • moved public headers to include/
    • added Package.swift matching configuration specified in SSZipArchive.podspec
    • updated original project to reflect new folder structure
    • updated SSZipArchive.podspec to reflect new folder structure
    • added .build/ to the ignore list
    • removed eXecute permission flag from source files
    opened by victor-pavlychko 19
  • unzipFileAtPath skips folders with accented characters

    unzipFileAtPath skips folders with accented characters

    I am using ssziparchive to extract zip files into the Documents directory of my ios application. If the path of the zipped files contains accented characters (f.e. á é í ó ú) they are skipped.

    Sample zip file:

    / -- folder1/ -----file1 -----file2 -----file3 -- fólder2/ -----file1 -----file2 -- folder3/ -----file1 -----file2

    Result:

    / -- folder1/ -----file1 -----file2 -----file3 -- folder3/ -----file1 -----file2

    I don't know if I missing something or it is a bug.

    Thanks.

    bug 
    opened by luisangelsm 18
  • Enable zip64 to allow the creation of zip files larger than 4.3Gb

    Enable zip64 to allow the creation of zip files larger than 4.3Gb

    Fixes #579 and #521.

    It looks like the only thing that has to be changed is the flag indiciating whether zip64 should be used or not. Unpacking zip64 files seems to already be supported.

    Should zip64 be enabled by default or should it be an option? I strongly favour making it the default choice since almost everything seems to support zip64.

    I have created two tests to check that file sizes larger than 4.3Gb are supported. They fail when the zip64 flag is set to 0.

    I don't know whether I have added the tests correctly and they are not yet integrated with travis. Please let me know if any changes are required.

    opened by joelfischerr 16
  • latest minizip

    latest minizip

    Latest https://github.com/nmoinvaz/minizip/ to get rid of Xcode warnings

    This will need testing. :) Also, considering the amount of changes, I suggest to change the version number of ZipArchive to 2.0.

    opened by Coeur 16
  • Will 0.4.0 be distributed via CocoaPods?

    Will 0.4.0 be distributed via CocoaPods?

    I noticed that this product was updated to 0.4.0 almost two weeks ago. I'm using it in a pod of my own and tried specifying the following in the podspec:

    s.dependency 'SSZipArchive', '~> 0.4.0'
    

    The terminal output was:

    [!] Unable to satisfy the following requirements:
    
    - `SSZipArchive (~> 0.4.0)` required by `MyPod (0.1.0)`
    

    I tried removing the version specification from my podspec and the relevant output of a pod install looked like this:

    Installing SSZipArchive (0.3.3)
    

    It seems that 0.4.0 is not available in the CocoaPods repo. Will it be available or should I stick to 0.3.3?

    opened by parski 16
  • UnzipFile API crashes on free(ioposix->filename);

    UnzipFile API crashes on free(ioposix->filename);

    We were using ziparchive framework code from many years for unzipping operation in our iOS code. I tried to upgrade to SSZiparchive, and my unzipping code started crashing. Its crashing in fclose_file_func where it tries to close the file fclose(ioposix->file). The same piece of code is working fine with ziparchive, then I found fclose_file_func has just one line int ret; ret = fclose((FILE *)stream); return ret; compared to SSZiparchive . In my case while unzipping it fails somewhere in unzOpen2 and trying to call fclose_file_func twice and complains for SIG ABRT. Check the screenshot below for the issue. image

    image I wanted to migrate to SSZiparchive to consume [zipperdown fix]

    My zippath and destination paths are as below

    /Users/sandhya/Library/Developer/CoreSimulator/Devices/1D841CCD-A36F-49AF-848A-33CE0512774B/data/Containers/Data/Application/414C18C7-DAD8-48AC-99C9-65179B7B54AF/tmp/resources.zip Printing description of tempWWWDirectory: /Users/sandhya/Library/Developer/CoreSimulator/Devices/1D841CCD-A36F-49AF-848A-33CE0512774B/data/Containers/Data/Application/414C18C7-DAD8-48AC-99C9-65179B7B54AF/tmp/wwwtemp

    I want to migrate to SSZiparchive to consume zipperdown fix. (https://github.com/ZipArchive/ZipArchive/pull/456) which is not available to older ziparchive.

    needs-reproduction Minizip 
    opened by sandsuma 15
  • some files are lost after unzip package

    some files are lost after unzip package

    Steps to reproduce

    use follow api unzip package BOOL result = [SSZipArchive unzipFileAtPath:decPath toDestination:filePath];

    Expected behavior

    Tell us what should happen some files are lost after unzip package image

    Actual behavior

    Tell us what happens instead

    Version of ZipArchive

    pod 'SSZipArchive', '~> 2.2.2'

    Environmental information

    iPhone 13

    opened by AndreHu88 0
  • Import issue in header files for v2.3.0+ with Carthage?

    Import issue in header files for v2.3.0+ with Carthage?

    Steps to reproduce

    1. Currently our app compiles with ZipArchive/ZipArchive "v2.2.3"
    2. I tried upgrading the Carthage dependency to "v2.3.0" OR "v2.4.0"
    3. App fails to compile with the following 2 errors:

    'SSZipArchive.h' file not found with brackets; use "quotes" instead 'SSZipCommon.h' file not found with brackets; use "quotes" instead

    v2 3 0
    1. Manually converting the #import <SSZipArchive.h> to #import "SSZipArchive.h" and #import <SSZipCommon.h> to #import "SSZipCommon.h" indeed makes the app compile

    Expected behavior

    App should compile without having to edit the checked-out Carthage files

    Actual behavior

    App does not compile; we have to manually edit the checked-out Carthage files, which is not feasible considering the checked-out Carthage files is (understandably) git-ignored

    Version of ZipArchive

    v2.3.0+

    Environmental information

    Lmk what will be helpful!

    opened by asana-jau 0
  • Support Chinese file name?

    Support Chinese file name?

    Steps to reproduce

    1. Unzip a zip package containing Chinese file names

    Expected behavior

    Chinese file names can be correctly encoded

    Actual behavior

    Chinese file name is garbled

    Version of ZipArchive

    latest

    Environmental information

    opened by codwam 1
  • After compressing the Unix executable file, Use the system decompression,  it will become a normal file

    After compressing the Unix executable file, Use the system decompression, it will become a normal file

    Steps to reproduce

    1. SSZipArchive.createZipFile("zip path", "executable file path")

    Expected behavior

    Tell us what should happen

    Actual behavior

    Tell us what happens instead

    check posixPermissions 775 became 644

    Version of ZipArchive

    SSZipArchive 2.4.2

    Environmental information

    macos 12.0

    opened by Shellylang 0
  • Cannot extract AES-encrypted archives with a `£` character in the password

    Cannot extract AES-encrypted archives with a `£` character in the password

    A user of my app noticed that ZIP-archives with a £ in the password cannot be decrypted. Please view the full details in the issue: https://github.com/raivo-otp/ios-application/issues/59.

    Steps to reproduce

    1. Create an AES-encrypted ZIP-archive using this library with the password ££qqqqqq
    2. Export the file to a Windows machine
    3. Try to decrypt it using 7-Zip

    My code to create the ZIP-archive:

    SSZipArchive.createZipFile(
        atPath: outputDirectory,
        withContentsOfDirectory: inputFilesPath,
        keepParentDirectory: false,
        compressionLevel: 0,
        password: password,
        aes: true
    )
    

    Expected behavior

    The ZIP-archive should be extracted.

    Actual behavior

    It states the password is incorrect. If I create a ZIP-archive with the password qqqqqqqq (without ££) it does work, and 7-Zip is able to decrypt it.

    Version of ZipArchive

    2.4.2

    Environmental information

    Windows 11. iOS 15.

    opened by tijme 0
Releases(2.5.3)
  • 2.5.3(Dec 17, 2022)

    • mz_compat updated to minizip 3.0.7
    • Fixes Mac Catalyst build with bumped OS minimum requirements (Thank you @steventroughtonsmith!) #654

    Reminder (This message will be dropped after this version):

    Version 2.5.0+ Updates Minimum OS Versions.

    A key dependency of this project is the zlib library. zlib before version 1.2.12 allows memory corruption when deflating (i.e., when compressing) if the input has many distant matches according to CVE-2018-25032.

    zlib 1.2.12 is included in macOS 10.15+ (with latest security patches), iOS 15.5+, tvOS 15.4+, watchOS 8.4+. As such, these OS versions will be the new minimums as of version 2.5.0 of ZipArchive.

    If you need support for previous versions of ZipArchive for earlier OS support, you can target an earlier version but know you will be using an unmaintained version of this library.

    Source code(tar.gz)
    Source code(zip)
  • 2.5.2(Jun 21, 2022)

    • mz_compat updated to minizip 3.0.6 by @jhudsonWA in https://github.com/ZipArchive/ZipArchive/pull/647

    Builds on 2.5.1:

    Bumps the version of minizip used to 3.0.6 which includes fixes for two buffer overflow issues [fixed in 3.0.5+] (Thank you LB who reached out via email)

    Reminder:

    Version 2.5.0+ Updates Minimum OS Versions

    A key dependency of this project is the zlib library. zlib before version 1.2.12 allows memory corruption when deflating (i.e., when compressing) if the input has many distant matches according to CVE-2018-25032.

    zlib 1.2.12 is included in macOS 10.15+ (with latest security patches), iOS 15.5+, tvOS 15.4+, watchOS 8.4+. As such, these OS versions will be the new minimums as of version 2.5.0 of ZipArchive.

    If you need support for previous versions of ZipArchive for earlier OS support you can target an earlier version but know you will be using an unmaintained version of this library.

    Source code(tar.gz)
    Source code(zip)
  • 2.5.1(Jun 17, 2022)

    Bumps the version of minizip used to 3.0.6 which includes fixes for two buffer overflow issues [fixed in 3.0.5+] (Thank you LB who reached out via email)

    Reminder:

    Version 2.5.0+ Updates Minimum OS Versions

    A key dependency of this project is the zlib library. zlib before version 1.2.12 allows memory corruption when deflating (i.e., when compressing) if the input has many distant matches according to CVE-2018-25032.

    zlib 1.2.12 is included in macOS 10.15+ (with latest security patches), iOS 15.5+, tvOS 15.4+, watchOS 8.4+. As such, these OS versions will be the new minimums as of version 2.5.0 of ZipArchive.

    If you need support for previous versions of ZipArchive for earlier OS support you can target an earlier version but know you will be using an unmaintained version of this library.

    We will not support versions of ZipArchive that use dependencies with known vulnerabilities.

    Source code(tar.gz)
    Source code(zip)
  • 2.5.0(Jun 11, 2022)

    Version 2.5.0+ Updates Minimum OS Versions

    A key dependency of this project is the zlib library. zlib before version 1.2.12 allows memory corruption when deflating (i.e., when compressing) if the input has many distant matches according to CVE-2018-25032.

    zlib 1.2.12 is included in macOS 10.15+ (with latest security patches), iOS 15.5+, tvOS 15.4+, watchOS 8.4+. As such, these OS versions will be the new minimums as of version 2.5.0 of ZipArchive.

    If you need support for previous versions of ZipArchive for earlier OS support you can target an earlier version but know you will be using an unmaintained version of this library.

    We will not support versions of ZipArchive that use dependencies with known vulnerabilities.

    Source code(tar.gz)
    Source code(zip)
  • 2.4.3(Feb 15, 2022)

  • 2.4.2(Jun 3, 2021)

    Fixes: More header/import work to help ensure previous integrations continue to work after SPM support was added. (#617) (Thank you @CLJian)

    Source code(tar.gz)
    Source code(zip)
  • 2.4.1(May 31, 2021)

    Fixes:

    • Restores CocoaPods includes paths to be the same as 2.2.3 (Pre-SPM) - Fixes #616, #615

    Improvements:

    • Moving to Github actions for CI/CD (#576) (Thank you @willson-chen) - travis-ci.org is shutting down 3/31/2021 and moving to their commercial platform. Getting credits for OSS projects is possible, but takes continual requests and maintenance.
    • Provide progress handler for + (BOOL)createZipFileAtPath:withFilesAtPaths:withPassword: (#578) (Thank you @fritzt0)
    Source code(tar.gz)
    Source code(zip)
  • 2.4.0(May 29, 2021)

    Improvements And Fixes:

    • minizip-ng (formally minizip) upgraded to version 3.0.2 (#613)
    • Can now use openForAppending to append to the zip file (#598) (Thank you @andrewreeman)
    • Added support for compressing symbolic link files and keeping them as symbolic links (#560) (Thank you @willson-chen) - fixes #313, #423, #551
    Source code(tar.gz)
    Source code(zip)
  • 2.3.0(May 29, 2021)

    Fixes:

    • Forbid archive included in compress path (#569)

    Improvements:

    • Swift Package Manager Support! (#536) (Thank you @victor-pavlychko and others for your help getting this merged and tested)
    • Enable zip64 to allow the creation of zip files larger than 4.3Gb (#580) (Thank you @joelfischerr)
    • Xcode 12 warning fixes (#588) (Thank you @ddaddy)
    • License update to remove reference to @soffes (#610) (Thank you @soffes for all of your contributions to this project over the years)

    Reminder:

    • We stopped releasing Carthage package in a previous version. It is better for developers to build it by themselves.
    Source code(tar.gz)
    Source code(zip)
  • 2.2.3(Apr 29, 2020)

    Fixes:

    • Set file flag to UTF-8 when zipping files. (#564)---fixed #461

    Improvements:

    • Remove executable bit from non-executable files (#563 thanks @friederbluemle)
    • Replacing Minizip 2.8.9 with Minizip 2.9.2.dev (#558, big thanks @nmoinvaz)
    • Updating Travis for Xcode 11 (thanks @Coeur)
    • Update Podfile (thanks @Coeur)
    • Improved error message (#532 thanks @philippec-ls)
    • Dropping iOS 8, as it's now unsecure (#531 thanks @Coeur)
    • Added -payloadSizeForArchiveAtPath (#530 thanks @philippec-ls)
    • Added missing newline && Renamed local variable (#529 thanks @philippec-ls)
    • ProvisioningStyle = Automatic; for tests (thanks @Coeur)

    Note:

    • We stop releasing Carthage package from this version on. It is better for developers to build it by themselves.
    Source code(tar.gz)
    Source code(zip)
  • 2.2.2(May 22, 2019)

  • 2.2.1(May 6, 2019)

  • 2.2.0(May 5, 2019)

    Fixes:

    • Error handling when exceeding the limit of file open. (#483, thanks @Tamamaki)
    • Fix version_madeby for unicode support when creating zip files (#507, thanks @jsutdolph)
    • Fix some minor Xcode 10.2 warnings

    Improvements:

    • Replacing Minizip 1.2+ with Minizip 2.8.6.dev (#509, big thanks @nmoinvaz)

    Breaking:

    • ios minimum deployment target is now really 8.0 for CocoaPods, so don't forget to define your minimum deployment target explicitly in your Podfile.
    Source code(tar.gz)
    Source code(zip)
    ZipArchive.framework.zip(1.75 MB)
  • 2.1.5(Apr 8, 2019)

    Fixes:

    • Carthage compatibility with Xcode 10.2+ (#500, thanks @DivineDominion)
    • Carthage build with watchOS arm64_32 slice (#474)
    • File path sanitation compatibility with Unicode (#472)
    • Fix resource leak when testing password protection or failing to open a file (#418, thanks @craig65535)
    • Fix zipping together more than 65535 files (https://github.com/nmoinvaz/minizip/pull/373, thanks @idezzzz)

    Improvements:

    • Allow reading > 64k at a time on platforms where zlib supports this (https://github.com/nmoinvaz/minizip/pull/327)
    Source code(tar.gz)
    Source code(zip)
    ZipArchive.framework.zip(1.86 MB)
  • 2.1.4(Aug 26, 2018)

    Fixes:

    • avoid that the applications continue to read incorrect data when wrong password is entered. (nmoinvaz/minizip#210)
    • avoid buffers overwrite (#438, thanks @fpillet, @cleric, @littlebobert, @alexrestrepo)
    • handle empty directory path gracefully when keepParentDirectory is YES (#468, thanks @rob2468)

    Improvements:

    • compatibility with CocoaPods module for Swift. (#452, thanks @taglia3)
    • swifter empty status of a directory (#465, thanks @rob2468)
    • unzipping a directory doesn't require a password
    Source code(tar.gz)
    Source code(zip)
    ZipArchive.framework.zip(1.58 MB)
  • 2.1.3(May 30, 2018)

  • 2.1.2(Apr 8, 2018)

  • 2.1.1(Oct 11, 2017)

    Hotfix:

    • fix unzipping some files (regression in 2.1.0, #402, thanks @jdeepwell)

    Fixes:

    • Safer encryption by using arc4random_buf instead of "/dev/urandom" (https://github.com/nmoinvaz/minizip/issues/175)
    • fix nested zip files (#380, thanks @Alyn-zz)
    • fix carthage iOS/tvOS/watchOS frameworks compatibility with swift (#396)
    • ignoring __MACOSX/ (#400, thanks @0x68)
    • fix unzipping archives with more than 65535 entries (#403, thanks @jdeepwell)
    Source code(tar.gz)
    Source code(zip)
    ZipArchive.framework.zip(1.45 MB)
  • 2.1.0(Oct 9, 2017)

    New:

    • Optional AES zipping for compatibility with Archive Utility, Unzip, etc. (fix #228)
    • (breaking) Optional unzipping of nested zip (fix #319)

    Fix:

    • Support unzipping incorrect headers (fix #211) note: update to ZipArchive 2.1.1 for a proper fix
    • (breaking) Removing zipArchiveDidUnzipArchiveFile:entryPath:destPath: (fix #387)
    • Support unzipping empty zip files (#390)
    • Avoiding creating an extra file to zip an empty folder (#392)
    • Report error for incorrect password (fix #395)
    Source code(tar.gz)
    Source code(zip)
    ZipArchive.framework.zip(5.03 MB)
  • 2.0.8(Sep 30, 2017)

  • 2.0.7(Sep 18, 2017)

  • 2.0.6(Sep 13, 2017)

  • 2.0.5(Sep 9, 2017)

  • 2.0.4(Aug 28, 2017)

  • 2.0.3(Aug 1, 2017)

  • 2.0.2(Jul 25, 2017)

  • 2.0.1(Jul 19, 2017)

  • 2.0.0(Jul 17, 2017)

  • 1.8.1(Apr 12, 2017)

  • 1.8.0(Apr 11, 2017)

Owner
ZipArchive
ZipArchive
zip file I/O library for iOS, macOS and tvOS

ZipZap is a zip file I/O library for iOS, macOS and tvOS. The zip file is an ideal container for compound Objective-C documents. Zip files are widely

Glen Low 1.2k Dec 27, 2022
FileExplorer is a powerful iOS file browser that allows its users to choose and remove files and/or directories

FileExplorer (iOS 9.0+) ?? Project created and maintained by Rafał Augustyniak. You can find me on twitter (@RaAugustyniak). Introduction FileExplorer

Rafał Augustyniak 717 Dec 19, 2022
FileManager replacement for Local, iCloud and Remote (WebDAV/FTP/Dropbox/OneDrive) files -- Swift

This Swift library provide a swifty way to deal with local and remote files and directories in a unified way. This library provides implementaion of W

Amir Abbas Mousavian 890 Jan 6, 2023
NV_MVVM-C is a template file generator. This can reduce the time taken to write the boilerplate code and create the files.

NV_MVVM-C Template, is an MVVM-C Boilerplate generator which will help you generate all the necessary files for your project architected in MVVM-C.

Nikhil Vinod 9 Sep 6, 2022
SwiftXLSX - A library focused creating Excel spreadsheet (XLSX) files directly on mobile devices

SwiftXLSX Excel spreadsheet (XLSX) format writer on pure SWIFT. SwiftXLSX is a l

null 19 Dec 13, 2022
FileKit is a Swift framework that allows for simple and expressive file management.

FileKit is a Swift framework that allows for simple and expressive file management.

Nikolai Vazquez 2.2k Jan 7, 2023
Zero-setup P2P file transfer between Macs and iOS devices

?? Ares Zero-setup* P2P file transfer between Macs and iOS devices Ares is a service that I built in under 24 hours, winning first place at HackED 201

Indragie Karunaratne 131 Jan 10, 2022
'Root' filesystem File Provider extension for iOS.

RootFSProvider This sample project was previously available on on Patreon. It is written in Objective-C, and has not been updated for newer APIs since

Steven Troughton-Smith 14 Sep 24, 2022
Finder-style iOS file browser written in Swift

FileBrowser iOS Finder-style file browser in Swift 4.0 with search, file previews and 3D touch. Simple and quick to use. Features ✨ Features ?? Browse

Roy Marmelstein 1.5k Dec 16, 2022
A micro-framework for observing file changes, both local and remote. Helpful in building developer tools.

KZFileWatchers Wouldn't it be great if we could adjust feeds and configurations of our native apps without having to sit back to Xcode, change code, r

Krzysztof Zabłocki 1k Dec 19, 2022
File management and path analysis for Swift

Pathos offers cross-platform virtual file system APIs for Swift. Pathos is implement from ground-up with on each OS's native API. It has zero dependen

Daniel Duan 104 Nov 19, 2022
Edit a file, create a new file, and clone from Bitbucket in under 2 minutes

Edit a file, create a new file, and clone from Bitbucket in under 2 minutes When you're done, you can delete the content in this README and update the

Nikunj Munjiyasara 0 Nov 9, 2021
RavynOS File manager built in Cocoa/Appkit and ObjC

Filer A file manager and re-implementation of macOS's Finder. A key component of ravynOS, Filer is the first application you see after you start ravyn

RavynSoft 8 Oct 3, 2022
Zip - A Swift framework for zipping and unzipping files. Simple and quick to use. Built on top of minizip.

Zip A Swift framework for zipping and unzipping files. Simple and quick to use. Built on top of minizip. Usage Import Zip at the top of the Swift file

Roy Marmelstein 2.3k Jan 3, 2023
Swift framework for zipping and unzipping files.

Zip A Swift framework for zipping and unzipping files. Simple and quick to use. Built on top of minizip. Usage Import Zip at the top of the Swift file

Roy Marmelstein 2.3k Dec 30, 2022
AudioPlayer is a simple class for playing audio in iOS, macOS and tvOS apps.

AudioPlayer AudioPlayer is a simple class for playing audio in iOS, macOS and tvOS apps.

Tom Baranes 260 Nov 27, 2022
A simple class that wraps the process of saving or loading a struct or class into a single file

EZFile This is a simple class that wraps the process of saving or loading a stru

null 7 May 16, 2022
iOS utility class allows you to access keyboard view and track keyboard animation.

YYKeyboardManager iOS utility class allows you to access keyboard view and track keyboard animation. (It was used by YYText) Compatibility iPhone / iP

null 480 Nov 17, 2022
iOS utility class to manage global dispatch queue.

YYDispatchQueuePool iOS utility class to manage global dispatch queue. (It's a component of YYKit) When use a concurrent queue to execute lots of bloc

null 464 Oct 31, 2022
A fast, convenient and nonintrusive conversion framework between JSON and model. Your model class doesn't need to extend any base class. You don't need to modify any model file.

MJExtension A fast, convenient and nonintrusive conversion framework between JSON and model. 转换速度快、使用简单方便的字典转模型框架 ?? ✍??Release Notes: more details Co

M了个J 8.5k Jan 3, 2023