Sto cercando di fare l'equivalente di writeImageToSavedPhotosAlbum con il nuovo Photo framework.Quadro foto: salva dati exi dal selettore (apertura, lunghezza focale, velocità dell'otturatore, ...)
Per salvare l'immagine, faccio solo questo:
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
let image = info[UIImagePickerControllerOriginalImage] as UIImage
PHPhotoLibrary.sharedPhotoLibrary().performChanges({() -> Void in
let changeRequest = PHAssetChangeRequest.creationRequestForAssetFromImage(image)
}, completionHandler: { (success, error) -> Void in
//
})
}
Naturalmente, non c'è nessuna magia e siccome io non faccio nulla di
info[UIImagePickerControllerMediaMetadata]
, il codice di cui sopra non salva eventuali metadati nel "Rullino foto", come puoi vedere utilizzando lo screenshot di Preview.app quando collego il mio iPhone al mio Mac.
Si ottiene questo punto di vista, aprendo Preview.app, selezionando File> Importa da "voi il nome del dispositivo"; quindi puoi sfogliare le tue foto e vedere quelle quelle scattate con l'app Fotocamera mostrano i dati exif come la lunghezza focale, mentre quelli salvati con il codice sopra mostrano valori vuoti.
Ora la documentazione per creationRequestForAssetFromImage dice:
per impostare le proprietà dei metadati della risorsa appena creata, utilizzare le corrispondenti proprietà della richiesta di modifica (elencati in Modifica Assets).
Quali collegamenti a "+ changeRequestForAsset:" e 4 proprietà (creazioneData, posizione, preferito, nascosto), è un po 'di luce. Che dire delle altre proprietà che si potrebbero desiderare di salvare (come apertura, lunghezza focale, velocità dell'otturatore, ...)?
Come si suppone di salvare i metadati lungo l'immagine con Photo framework?
Hai capire questo fuori? – Steve
Sì Steve, controlla la mia risposta – Nycen