とりあえず、stack over flow の情報を基に、exifデータを読み込む事が出来たので、一時的にメモ。
JPEGデータは compression quality のデータを読み込む必要があるため、URLをそのまま渡して、exifデータを読み込んだ方が早そう。後々、ImageIO, CoreLocationについても読み込んで追加する。
###ソースコード
#import "ViewController.h"
#import <ImageIO/ImageIO.h>
#import <CoreLocation/CoreLocation.h>
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *imgPath = [NSString stringWithFormat:@"%@/exit_test.JPG", [[NSBundle mainBundle] resourcePath]];
CGImageSourceRef source = CGImageSourceCreateWithURL((CFURLRef)CFBridgingRetain([NSURL fileURLWithPath:imgPath]), nil);
NSDictionary *metadata = (NSDictionary *) CFBridgingRelease(CGImageSourceCopyPropertiesAtIndex(source, 0, NULL));
//GPS Dictionary
NSDictionary *GPSDictionary = [metadata objectForKey:(NSString *)kCGImagePropertyGPSDictionary];
}
@end
取得したデータ
2013-05-27 01:33:51.685 test_exif[6363:c07] {
Altitude = "103.0715";
AltitudeRef = 0;
Latitude = "35.65283333333333";
LatitudeRef = N;
Longitude = "139.697";
LongitudeRef = E;
TimeStamp = "16:15:16.30";
}