2014-10-30 92 views
8

如何解開快速解壓縮文件?在Objective-C中,我使用了SSZipArchive,我喜歡它。如下面的代碼所示。我懷疑如果我決定保留SSZipArchive,I will have to bridge an Objective-C file to my Swift file.是否有任何更新的第三方,或更好的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]; 
+0

['pod'SSZipArchive''](https://cocoapods.org/pods/SSZipArchive)與Swift完全兼容。 – 2017-07-19 17:41:06

回答

2

如果您使用的是UIKit或AppKit,您已經在使用Swift-ObjC橋接器了。不要擔心,只需使用你認識和喜愛的圖書館!

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

let unZipped = SSZipArchive.unzipFileAtPath(zipPath, toDestination: globalFileStrucure) 
19

斯威夫特2(更新):

所以我的作品沒有錯誤:

  1. 下載/克隆這裏的圖書館:ssziparchive
  2. 複製目錄 「SSZipArchive」到您的項目中(拖動&下拉菜單並選擇「創建組」)
  3. 包括圖書館您的項目斯威夫特 - ObjC橋(XXXX-橋Header.h)

    #進口 「SSZipArchive.h」

  4. 鏈接庫 「libz.tbd」 - iOS設備

    的部分

    (項目 - >構建階段 - >鏈接二進制與圖書館 - > +)

  5. 準備壓縮/解壓縮

+3

我正在使用cocoapod添加SSZipArchive,並且在所有gzip引用中出現錯誤。我將libz.dylib添加到pod和項目的目標,但仍然有錯誤。有任何想法嗎? @screenworker – Unome 2015-05-11 21:47:24

+1

對於Xcode 7和Swift 2和Mac應用程序,導入2個庫,libz.tbd和dylib1.o – 2015-10-27 01:32:45

0

它與以下彼得Krei新西蘭。在第二步如下

關注:

請選擇「創建組」目錄「SSZipArchive」複製到您的項目時(將&丟棄)

1

我發現WPZipArchive更易於使用,安裝,使用Cocoapods。任何人誰感興趣的可以閱讀以下指南:從您的Mac應用程序/ Utilities文件夾或從您的Launchpad

2)輸入sudo gem update --system到你的終端,以確保您的Ruby

1)打開Terminal.app是最新

3)輸入sudo gem install cocoapods安裝的CocoaPods(這個過程可能需要幾分鐘,就等着它顯示完成)

4)輸入pod setup來設置的CocoaPods(從這裏開始,你不需要使用sudo命令,使用(pod

5)啓動Xcode並創建一個新項目(如果您沒有創建現有項目)。如果您創建了Xcode項目,請跳過此步驟。

6)退出Xcode程序。是的,關閉項目並退出Xcode的程序

7)返回到終端,並輸入cd Path/To/Folder/Containing/YourProject替換此路徑/要/文件夾/含/ YourProject用自己的目錄路徑

8)輸入pod init

9)輸入open -a Xcode Podfile使用Xcode程序打開podfile。默認Podfile看起來是這樣的:

platform :osx, '10.10' 
use_frameworks! 

target 'myprojectname' do 
pod 'WPZipArchive', '0.0.1' 
end 

platform :osx, '10.10'是指定最低部署目標,您可以切換到任何你首選。

10)保存並關閉Podfile(關閉的Xcode太)

11)返回到終端,並輸入pod install這是安裝WPZipArchive,這將需要幾分鐘的時間。

12)您完成安裝WPZipArchive。

啓動Xcode項目:

重要:從現在開始,你必須使用.xcworkspace不.xcodeproj

在ViewController.swift或任何.swift文件您啓動Xcode項目要使用壓縮或解壓縮的方法,只是增加進口WPZipArchive象下面這樣:

import Cocoa 
import WPZipArchive 

來壓縮文件,調用方法是這樣的:

WPZipArchive.createZipFileAtPath(zipPath, withContentsOfDirectory: sampleDataPath) 

解壓縮文件,調用方法是這樣的:

WPZipArchive.unzipFileAtPath(zipPath, toDestination: unzipPath) 

這一切和它的工作,易於實現。

享受壓縮和解壓

0

@screenworker(Unome)詢問的錯誤,都使參考libz進行框架的皮疹。我碰到類似的東西。鏈接步驟產生了有關「符號」的錯誤,如「_crc32」。所有這些符號都可以在libz.tbd存根中找到。

在這種情況下,問題是我錯誤地將libz.tbd引用添加到測試目標,而不是爲項目本身命名的目標。這可以通過轉到構建階段顯示進行檢查:

  • 在Project Navigator(左圖)點擊項目名稱
  • 在編輯器中,單擊「生成階段」選項卡上。
  • 在構建階段顯示,查找列表中相鄰到Project Navigator
  • 單擊目標窄列,它是與您的項目名稱爲目標(例如myProject的,而不是myProjectTest或myProjectUITest)
  • 如果點擊「Link Binary With Libraries」旁邊的箭頭,您應該看到庫列表 - 應包含libz。