4

ich ein Bild bin AbrufenALAsset wurde als veraltet - Verwenden Sie PHAsset von Fotos Rahmen

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) } 
     let chosenImage = info[UIImagePickerControllerOriginalImage] as! UIImage 
} 

ich mit dem Bild abrufen können, verwenden Sie das Bild auch zur Eingabe einer Taste Hintergrund oder was auch immer Ich mag würde, aber ich scheint die Metadaten des Fotos nicht abrufen zu können. Jetzt gibt es eine Menge Gespräche über verschiedene andere Orte auf dem Interweb von ALAssets und ihre Techniken für Bilddaten, ABER ALAssets ist seit kurzem veraltet. Da mein Bild ist kein Bild, dass der Benutzer gerade aufgenommen hat, sondern ein Bild von der Kamera Rolle der Wahl, ich bin zu verwenden, nicht in der Lage:

let metadata = info[UIImagePickerControllerMediaMetaData] as! NSDictionary

Also, wenn jemand mich in der richtigen Richtung zeigen könnte, wie Um zu erfahren, wie man die Metadaten eines Bildes, das ein Benutzer gerade aus seiner Kamerarolle auswählt, ohne Verwendung von ALAssets erhält, würde es sehr geschätzt werden! Vielen Dank!

+0

'PhotoKit' in iOS 8.0 nur verfügbar ist, und später. – Lumialxk

Antwort

4

Wenn Sie Bilder von der Kamera Rolle bekommen würde dies helfen:

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { 

let imageUrl = info["UIImagePickerControllerReferenceURL"] 
let asset = PHAsset.fetchAssetsWithALAssetURLs([imageUrl], options: nil).firstObject as! PHAsset 
print("location: " + String(asset.location)) 
print("Creation Date: " + String(asset.creationDate)) 

} 
+0

Ok, aber woher kommt das Asset? Ich denke, das ist, wo meine Verwirrung liegt in der Verwendung von PHImageManager – impression7vx

+0

PHImageManager wird alle Bilder aus der Galerie mit der Kamera aufgenommen. –

+0

Ich sehe, wie würde ich dann nur 1 Bild abrufen? Ich habe ihre Foto-Bibliothek geöffnet und den Benutzer gebeten, das Bild auszuwählen, das sie für meine App verwenden möchten. Woher weiß ich, welche 1 sie auswählen? – impression7vx