Das Seltsamste passiert. Ich habe ein Aktionsblatt, das dem Benutzer die Wahl gibt, entweder ein Foto mit der Kamera zu machen oder eines aus der Kamerarolle auszuwählen. Wenn der UIImagePicker von der Auswahl zurückkehrt, benutze ich die ALAssetsLibrary, um die GPS-Informationen zu bestimmen, die in das Foto eingebettet sind. Die Auswahl eines Fotos aus der Kamerarolle funktioniert einwandfrei und ich kann die GPS-Informationen abrufen. Allerdings macht das Fotografieren mit der Kamera absolut keine GPS-Informationen, tatsächlich habe ich überhaupt keine Metadaten. Weiß jemand, was ich hier falsch mache?
Code unten:
%Vor%Wie ich bereits erläutert habe, wird bei Verwendung der Kamera Folgendes ausgegeben:
%Vor%Wenn ich jedoch ein vorhandenes Foto auswähle oder die App verlasse, ein neues Foto mit der Kamera mache, dann zurück in die App gehe und das Foto von der Kamera auswähle, bekomme ich die folgende Ausgabe von NSLog.
%Vor%PS - Ich benutze xCode 4.3 mit ARC
@ Thanh-Cong Vo hat recht, wie man das Bild im Fotoalbum speichert. Und sehen, was sagen die Apple-Dokumente zum Speichern von Bildern im Fotoalbum
Um ein Standbild im Album "Camera Roll" des Benutzers zu speichern, rufen Sie das UIImageWriteToSavedPhotosAlbum Funktion aus dem Körper des imagePickerController: didFinishPickingMediaWithInfo: Methode. Um ein zu speichern Film zum Album "Camera Roll" des Benutzers, rufen Sie stattdessen die UISaveVideoAtPathToSavedPhotosAlbum Funktion. Diese Funktionen, in UIKit Funktionsreferenz beschrieben , speichert nur das Bild oder den Film; Sie speichern keine Metadaten.
Ab iOS 4.0 können Sie Standbild-Metadaten zusammen mit a speichern Standbild, zum Camera Roll. Um dies zu tun, verwenden Sie die writeImageToSavedPhotosAlbum: Metadaten: completionBlock: Methode der Aktives Bibliotheks-Framework. Siehe die Beschreibung für die UIImagePickerControllerMediaMetadata Schlüssel .
Tags und Links objective-c iphone alassetslibrary gps uiimagepickercontroller