2012-09-13 2 views
2

AVFoundation Framework를 사용하여 비디오 축소판을 만들려고합니다. 나는 제대로 여기 썸네일을 생성하는 코드가 추가 #import <AVFoundation/AVFoundation.를 가져온 :ld : 아키텍처 i386에 대한 기호가 없습니다. AVFoundation을 사용하는 동안 오류가 발생했습니다.

AVURLAsset *asset=[[AVURLAsset alloc] initWithURL:[NSURL URLWithString:moviePath] options:nil]; 
AVAssetImageGenerator *generator = [[AVAssetImageGenerator alloc] initWithAsset:asset]; 
generator.appliesPreferredTrackTransform=TRUE; 
CMTime thumbTime = CMTimeMakeWithSeconds(0,30); 

AVAssetImageGeneratorCompletionHandler handler = ^(CMTime requestedTime, CGImageRef im, CMTime actualTime, AVAssetImageGeneratorResult result, NSError *error){ 
    if (result != AVAssetImageGeneratorSucceeded) { 
     NSLog(@"couldn't generate thumbnail, error:%@", error); 
    } 
    [imageButton setImage:[UIImage imageWithCGImage:im] forState:UIControlStateNormal]; 
    //UIImage *thumbImg=[UIImage imageWithCGImage:im]; 
}; 

CGSize maxSize = CGSizeMake(320, 180); 
generator.maximumSize = maxSize; 
[generator generateCGImagesAsynchronouslyForTimes:[NSArray arrayWithObject:[NSValue valueWithCMTime:thumbTime]] completionHandler:handler]; 

내가 이것을 만들 때, 나는 다음과 같은 오류 얻을 : 나는 구글과에 비슷한 질문을 검토 한

Undefined symbols for architecture i386:_CMTimeMakeWithSeconds", referenced from: 
    -[photojournal generateImage] in photojournal.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation) 

을 여기에 스택 오버플로, 그리고 합의가 소스를 컴파일 누락 된 파일을 추가하는 것 같다. 내 질문은 - AVFoundation에 대해 누락 된 파일은 무엇입니까? 프레임 워크를 가져올 때 모두 와야하지 않습니까? 감사.

당신은 당신의 프로젝트에 코어 미디어 프레임 워크를 추가 할 필요가
+0

예 빌드 단계에서 "라이브러리와 바이너리 링크"뿐 아니라 가져 오기 문도 필요합니다. 프레임 워크를 추가하면 어떤 자동이되어야합니다 –

+0

그건 내가 생각한거야. 그렇다면 _CMTimeMakeWithSeconds를 인식하지 못하는 이유는 무엇입니까? 이 줄을 주석 처리하면 응용 프로그램이 올바르게 컴파일됩니다. 장치 또는 시뮬레이터에서 – Kwame

+0

테스트? – scorpiozj

답변

12

#import <CoreMedia/CoreMEdia.h> 

CMTime는 코어 미디어 프레임 워크의 일부입니다. 나는 같은 오류가 있었고 이것으로 해결되었다.

+1

클래스 헤더 파일에 #import 가 이미 있는데 오류가 계속 발생합니다. – Kwame

0

andrewmobile 대답을 확장하십시오. #import <CoreMedia/CoreMedia.h> 외에도 빌드 단계에서 "라이브러리와 바이너리 연결"에 CoreMedia.framework를 추가해야합니다.

관련 문제