iPhone iOS cómo extraer metadatos fotocharts e información geotagging de una image de rollo de camera?

Posible duplicado:
¿Cómo obtengo la latitud y longitud correctas de una foto de iPhone cargada?

Estoy haciendo una aplicación de fotografía y me gustaría saber cuáles son mis opciones para trabajar con fotos geográficas. Me gustaría mostrar dónde se tomó una foto (similar a la aplicación de fotos). es posible?

Además, necesito saber cuándo se tomó la fotografía . Puedo capturar esta información para las imágenes que tomo yo mismo, pero ¿qué pasa con las imágenes del rollo de la camera?

Sí, es posible.

Tiene que usar ALAssetsLibrary para acceder al rollo de la camera. Luego, simplemente enumerar a través de sus fotos y preguntar por la location.

 assetsLibrary = [[ALAssetsLibrary alloc] init]; groups = [NSMutableArray array]; [assetsLibrary enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos usingBlock:^(ALAssetsGroup *group, BOOL *stop) { if (group == nil) { return; } [groups addObject:group]; } failureBlock:^(NSError *error) { // Possibly, Location Services are disabled for your application or system-wide. You should notify user to turn Location Services on. With Location Services disabled you can't access media library for security reasons. }]; 

Esto enumera tus grupos de activos. Luego, retira un grupo y enumera sus activos.

 ALAssetGroup *group = [groups objectAtIndex:0]; [group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) { if (result == nil) { return; } // Trying to retreive location data from image CLLocation *loc = [result valueForProperty:ALAssetPropertyLocation]; }]; 

Ahora su variable loc contiene la location del lugar donde se tomó la foto. Debería comprobarlo contra ALErrorInvalidProperty antes de usarlo, ya que algunas fotos pueden carecer de esta información.

Puede especificar ALAssetPropertyDate para get la date y hora de creación de la foto.