IOS Photos-Framework

8

Ich möchte alle Fotos von allen lokalen Alben auf dem Gerät abrufen. Grundsätzlich alle Fotos, die auf dem Gerät sind Wird die Liste der lokalen IDs eindeutig sein? Was ist der beste Ansatz dafür mit dem Fotorahmen?

Meine Frage ist nicht doppelt, da die andere Frage auch Cloud-Assets und Assets betrifft, die sich nicht auf dem Gerät befinden. Beim Abrufen der tatsächlichen Daten des Bildes werden beim Versuch, die Synchronisierung abzurufen, Nulldaten zurückgegeben.

    
Noam Segev 30.03.2017, 09:44
quelle

3 Antworten

4
  

Ich möchte alle Fotos von allen lokalen Alben auf der   Gerät. Grundsätzlich alle Fotos, die auf dem Gerät sind

Bearbeiten: fetchOptions.includeAssetSourceTypes = .typeUserLibrary siehe folgenden Code

So mache ich es:

%Vor%

Wenn ich es dann als UImage oder als Thumbnail verwenden möchte (auch wenn Sie das Bild als Daten verwenden wollen, verwenden Sie let imageData: NSData = UIImagePNGRepresentation(myImage) ), verwende ich:

%Vor%

Sie werden wahrscheinlich den obigen Code anpassen oder weitere Funktionen hinzufügen, die auf Ihre Bedürfnisse zugeschnitten sind!

Der obige Code wurde geschrieben und getestet mit Swift 3.1 und Xcode 8.3.1

Laut Apple's Docs

  

isNetworkAccessAllowed    Ein boolescher Wert, der angibt, ob Fotos das angeforderte Bild von iCloud herunterladen können.   Wenn dies der Fall ist und das angeforderte Bild nicht auf dem lokalen Gerät gespeichert ist, lädt Photos das Bild von iCloud herunter. Um über den Fortschritt des Downloads informiert zu werden, verwenden Sie die Eigenschaft progressHandler, um einen Block bereitzustellen, den Photos regelmäßig beim Herunterladen des Bildes aufruft. Wenn false (Standard) und das Image nicht auf dem lokalen Gerät vorhanden ist, zeigt der PHImageResultIsInCloudKey-Wert im Info-Wörterbuch des Ergebnishandlers an, dass das Image nur verfügbar ist, wenn Sie den Netzwerkzugriff aktivieren.

Verwenden Sie die getAsset () -Methode zum Abrufen des Bildes aus dem Asset. Es funktioniert

    
George Vardikos 16.04.2017 21:59
quelle
2
%Vor%     
Shaik Thuphel 30.03.2017 10:01
quelle
1

Schritt 1.

Betten Sie Photos.framework in Ihr Projekt ein

Schritt 2

%Vor%

Schritt 3

Fügen Sie den NSPhotoLibraryUsageDescription-Schlüssel zu plist

hinzu %Vor%

Schritt 4

Schreiben Sie diesen Code, um PHFetchResult

zu erhalten %Vor%     
Jagveer Singh 17.04.2017 12:58
quelle

Tags und Links