Я пытаюсь получить время экспозиции из изображения, снятого с помощью AVFoundation
. Когда я следовал инструкции WWDC 2010 года о получении полезных метаданных изображения из CMSampleBuffer
следующим образом:
-(void)captureStillImageWithCompletion:(completion_exp)completionHandler
{
AVCaptureConnection *connection = [stillImage connectionWithMediaType:AVMediaTypeVideo];
typedef void(^MyBufBlock)(CMSampleBufferRef, NSError*);
MyBufBlock h = ^(CMSampleBufferRef buf, NSError *err){
CFDictionaryRef exifAttachments = CMGetAttachment(buf, kCGImagePropertyExifDictionary, NULL);
if(exifAttachments){
NSLog(@"%@",exifAttachments);
}
if(completionHandler){
completionHandler();
}
};
[stillImage captureStillImageAsynchronouslyFromConnection:connection completionHandler:h];
}
У меня была ошибка в строке CFDictionaryRef
:
Cannot initialize a variable of type'CFDictionaryRef (aka 'const __CFDictionary*') with an rvalue of type CFTypeRef..
Поэтому я последовал решению в Интернете, приведя его следующим образом:
CFDictionaryRef exifAttachments = (CFDictionaryRef)CMGetAttachment(buf, kCGImagePropertyExifDictionary, NULL);
И теперь выдает другую ошибку: Неопределенные символы для архитектуры armv7s
(Apple Mach-o Linker Error: "_kCGImagePropertyExifDictionary", referenced from:)
(Apple Mach-o Linker Error: "_CMGetAttachment", referenced from:)
Я не понимаю, что пошло не так с моей программой. У кого-нибудь есть идеи?