Entpacken Sie die Dateien in swift

8

Wie geht man beim schnellen Entpacken einer Datei vor? In Objective-C habe ich SSZipArchive benutzt und ich habe es geliebt. Wie im folgenden Code zu sehen. Ich vermute, wenn ich beschließe, SSZipArchive zu behalten, Ich werde eine Objective-C-Datei mit meiner Swift-Datei verbinden müssen. Gibt es eine aktualisierte Drittanbieter- oder besser noch Apple-Dokumentation, um eine Datei in Swift zu entpacken?

%Vor%     
imnilly 30.10.2014, 13:23
quelle

5 Antworten

19

Swift 2 (Aktualisierung):

So funktioniert es bei mir ohne Fehler:

  1. download / klonen Sie die Bibliothek hier: ssziparchive
  2. Kopieren Sie das Verzeichnis "SSZipArchive" in Ihr Projekt (Drag & amp; Drop) und wählen Sie "Create groups"
  3. Fügen Sie die Bibliothek zu Ihrer Project Swift-ObjC Bridge (xxxx-Bridge-Header.h)

    hinzu

    #import "SSZipArchive.h"

  4. Verknüpfen Sie die Bibliothek "libz.tbd" - Teil von iOS

    (Projekt - & gt; Build-Phasen - & gt; Link Binary mit Bibliotheken - & gt; +)

  5. Bereit zum Zip / Entpacken

Peter Kreinz 18.03.2015 09:48
quelle
2

Wenn Sie UIKit oder AppKit verwenden, arbeiten Sie bereits mit einer Swift-ObjC-Brücke. Machen Sie sich keine Sorgen, benutzen Sie einfach die Bibliothek, die Sie kennen und lieben!

%Vor%     
Nate Cook 30.10.2014 16:49
quelle
1

Ich habe festgestellt, dass WPZipArchive mit Cocoapods einfacher zu verwenden und zu installieren ist. Jeder Interessierte kann den folgenden Leitfaden lesen:

1) Öffnen Sie Terminal.app von Ihrem Mac-Anwendung / Dienstprogramme-Ordner oder von Ihrem Launchpad

2) Geben Sie sudo gem update --system in Ihr Terminal ein, um sicherzustellen, dass Ihr Ruby auf dem neuesten Stand ist

3) Geben Sie sudo gem install cocoapods ein, um cocoapods zu installieren (Dieser Vorgang wird wahrscheinlich einige Minuten dauern, warten Sie, bis show Completed angezeigt wird)

4) Geben Sie pod setup ein, um die Cocoapoden einzurichten (von hier an müssen Sie nicht mehr sudo verwenden, sondern nur pod ).

5) Starten Sie Xcode und erstellen Sie ein neues Projekt (Wenn Sie kein bestehendes Projekt erstellt haben). Überspringen Sie diesen Schritt, wenn Sie ein Xcode-Projekt erstellt haben.

6) QUIT Xcode-Programm. Ja, schließe dein Projekt und beende das Xcode-Programm

7) Zurück zum Terminal und geben Sie cd Path/To/Folder/Containing/YourProject ein. Ersetzen Sie diesen Pfad / To / Ordner / Containing / YourProject durch Ihren eigenen Verzeichnispfad

8) Geben Sie pod init

ein

9) Geben Sie open -a Xcode Podfile ein, um die Poddatei mit dem Xcode-Programm zu öffnen. Die Standard-Poddatei sieht folgendermaßen aus:

%Vor%

platform :osx, '10.10' gibt das minimale Implementierungsziel an, Sie können zu dem ändern, was Sie bevorzugen.

10) Podfile speichern und schließen (auch Xcode schließen)

11) Zurück zum Terminal und geben Sie pod install ein, um das WPZipArchiv zu installieren, dies wird einige Minuten dauern.

12) Sie haben WPZipArchive installiert.

Starten Sie Xcode Project:

WICHTIG : Ab jetzt müssen Sie Ihr Xcode-Projekt mit dem .xcworkspace NOT .xcodeproj

starten

Fügen Sie im ViewController.swift oder in einer beliebigen .swift-Datei, die Sie mit der Methode zip oder unzip verwenden möchten, einfach den Import von WPZipArchive wie folgt hinzu:

%Vor%

Um eine Datei zu komprimieren, rufen Sie die Methode wie folgt auf:

%Vor%

Um eine Datei zu entpacken, rufen Sie die Methode wie folgt auf:

%Vor%

Das ist alles und es funktioniert und ist einfach zu implementieren.

Viel Spaß beim Zippen und Entpacken

    
David Evony 05.02.2016 21:03
quelle
0

Es funktioniert mit Peter Kreinz.

Achten Sie auf Schritt 2 wie folgt:

Bitte wählen Sie 'Create groups', wenn Sie das Verzeichnis "SSZipArchive" in Ihr Projekt kopieren (Drag & amp; Drop)

    
米米米 14.12.2015 08:20
quelle
0

@screenworker (Unome) hat nach einer Reihe von Fehlern gefragt, die alle auf das libz-Framework verweisen. Ich bin auf etwas Ähnliches gestoßen. Der Link-Schritt erzeugte Fehler bezüglich "Symbolen" wie "_crc32". Alle diese Symbole können im Stub libz.tbd gefunden werden.

Das Problem in diesem Fall ist, dass ich versehentlich den Verweis libz.tbd auf das Testziel und nicht das Ziel, das für das Projekt selbst genannt wurde, hinzugefügt habe. Dies kann überprüft werden, indem Sie zur Anzeige der Build-Phasen gehen:

  • Klicken Sie im Projektnavigator (linkes Fenster) auf Ihren Projektnamen
  • Klicken Sie im Editor auf den Tab "Build Phases".
  • Suchen Sie in der Anzeige "Build Phases" nach einer Liste mit dem Titel Targets in einer schmalen Spalte neben dem Project Navigator
  • Klicken Sie auf das Ziel, das mit Ihrem Projekt übereinstimmt (z. B. myProject und nicht myProjectTest oder myProjectUITest)
  • Wenn der Pfeil neben "Link Binary mit Bibliotheken" angeklickt wird, sollten Sie die Liste der Bibliotheken sehen - die libz enthalten soll.
user2121934 16.02.2016 19:46
quelle