在swift中解压缩文件

如何去迅速解压缩文件? 在Objective-C中,我使用了SSZipArchive,我喜欢它。 如下面的代码所示。 我怀疑,如果我决定保持SSZipArchive, 我将不得不桥接一个Objective-C文件到我的Swift文件。 有没有更新的第三方,或更好的Apple文档在Swift中解压文件?

NSString *zipPath = [self.globalFileStrucure stringByAppendingPathComponent:@"zipfile.zip"]; [data writeToFile:zipPath options:0 error:&error]; BOOL unZipped = 0; unZipped = [SSZipArchive unzipFileAtPath:zipPath toDestination:self.globalFileStrucure]; 

Swift 2(更新):

所以它适用于我没有错误:

  1. 在这里下载/克隆库: ssziparchive
  2. 将目录“SSZipArchive”复制到您的项目(拖放)并select“创build组”
  3. 将库包含到Project Swift-ObjC桥(xxxx-Bridge-Header.h)

    #import“SSZipArchive.h”

  4. 链接库“libz.tbd” – iOS的一部分

    (项目 – >构build阶段 – >与库链接二进制文件 – > +)

  5. 准备压缩/解压

如果您使用的是UIKit或AppKit,那么您已经在使用Swift-ObjC桥接器了。 不要担心,只要使用你认识和喜爱的图书馆!

 let zipPath = globalFileStrucure.stringByAppendingPathComponent("zipfile.zip") data.writeToFile(zipPath, options: nil, error: &error) let unZipped = SSZipArchive.unzipFileAtPath(zipPath, toDestination: globalFileStrucure) 

我发现WPZipArchive更容易使用和安装,使用Cocoapods。 任何有兴趣的人都可以阅读下面的指南:

1)从Mac应用程序/实用程序文件夹或Launchpad中打开Terminal.app

2)inputsudo gem update --system到你的terminal,以确保你的Ruby是最新的

3)inputsudo gem install cocoapods安装cocoapods(这个过程可能需要几分钟,只是等待显示完成)

4)inputpod setup设置cocoapods(从这里开始,你不需要使用sudo命令,只使用pod

5)启动Xcode并创build一个新的项目(如果你没有创build现有的项目)。 如果您创build了Xcode项目,请跳过此步骤。

6)退出Xcode程序。 是的,closures你的项目并退出Xcode程序

7)回到terminal,然后inputcd Path/To/Folder/Containing/YourProject To / Folder / Containing / YourProject用你自己的目录pathreplace这个Path / To / Folder / Containing / YourProject

8)inputpod init

9)inputopen -a Xcode Podfile Podfile使用Xcode程序打开podfile。 默认的Podfile如下所示:

 platform :osx, '10.10' use_frameworks! target 'myprojectname' do pod 'WPZipArchive', '0.0.1' end 

platform :osx, '10.10'是指定最小部署目标,你可以更改为任何你喜欢的。

10)保存并closuresPodfile(也closuresXcode)

11)回到terminal并inputpod install这是安装WPZipArchive,这将需要几分钟的时间。

12)你完成安装WPZipArchive。

启动Xcode项目:

重要说明 :从现在开始,您必须使用.xcworkspace NOT .xcodeproj启动您的Xcode项目

在ViewController.swift或任何.swift文件你想使用压缩或解压缩方法,只需添加像下面的导入WPZipArchive:

 import Cocoa import WPZipArchive 

要压缩文件,请调用像这样的方法:

 WPZipArchive.createZipFileAtPath(zipPath, withContentsOfDirectory: sampleDataPath) 

要解压文件,请调用如下所示的方法:

 WPZipArchive.unzipFileAtPath(zipPath, toDestination: unzipPath) 

这一切,它的工作,并易于实施。

享受压缩和解压缩

它跟随彼得Kreinz。

注意step2如下:

请将目录“SSZipArchive”复制到您的项目(拖放)时select“创build组”

@screenworker(Unome)询问了一些引用了libz框架的错误。 我遇到了类似的事情。 链接步骤产生了关于“_crc32”等“符号”的错误。 所有这些符号都可以在libz.tbd存根中find。

在这种情况下的问题是,我错误地将libz.tbd引用添加到testing目标,而不是为项目本身命名的目标。 这可以通过转到构build阶段显示进行检查:

  • 在Project Navigator(左侧面板)中点击你的项目名称
  • 在编辑器中,点击“Build Phases”选项卡。
  • 在“构build阶段”屏幕中,在“项目导航器”旁边的窄栏中查找名为“目标”的列表
  • 点击与您的项目相同的目标(例如myProject,而不是myProjectTest或myProjectUITest)
  • 如果点击“Link Binary With Libraries”旁边的箭头,您应该看到库列表 – 应包含libz。