Objective c CMSampleBufferGetImageBuffer CVImageBufferGetEncodedSize生成问题

Objective c CMSampleBufferGetImageBuffer CVImageBufferGetEncodedSize生成问题,objective-c,linker-errors,core-media,Objective C,Linker Errors,Core Media,这是我的代码: -(void) captureOutput:(AVCaptureOutput*)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection*)connection { CVImageBufferRef imageBuffer = CMSampleBufferGetImageBuffer( sampleBuffer );

这是我的代码:

-(void) captureOutput:(AVCaptureOutput*)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection*)connection
{
    CVImageBufferRef imageBuffer = CMSampleBufferGetImageBuffer( sampleBuffer );
    CGSize imageSize = CVImageBufferGetEncodedSize( imageBuffer );
    // also in the 'mediaSpecific' dict of the sampleBuffer

    NSLog( @"frame captured at %.fx%.f", imageSize.width, imageSize.height );
}
(这实际上与问题无关,但这是
AVCaptureVideoDataOutputSampleBufferDelegate
的函数)

无论如何,问题是无法识别
CMSampleBufferGetImageBuffer
CVImageBufferGetEncodedSize
。我得到了一个错误:

Undefined symbols for architecture i386:
  "_CMSampleBufferGetImageBuffer", referenced from:
这是一个标准错误: 但解决方案对我不起作用: -我添加了框架来正确地链接二进制文件和库。 -我导入了
,它在.h中包含这些类


那么问题出在哪里呢?

您需要添加CoreMedia.framework。转到目标->构建阶段->将二进制文件链接到库并添加它