2009-07-27 3 views
1

나는 다음과 같은 코드가 있습니다kMovieLoadStatePlayable 퀵타임 또는 QTKit이 프레임 워크 (먼저이 기능의 사용) 오류를 undelcared

(void)loadStateChanged:(NSNotification*)notification 
{ 
    if ([[movie attributeForKey:QTMovieLoadStateAttribute] longValue] >= kMovieLoadStatePlayable) 
    { 
     [[NSNotificationCenter defaultCenter] removeObserver:self]; 

     long movieScale = [[movie attributeForKey:QTMovieTimeScaleAttribute] longValue]; 

     [movie setCurrentTime:QTMakeTime(0, movieScale)]; 

     [movie play]; 
} 

하고이 오류를 던지고있다 :

오류 : 'kMovieLoadStatePlayable'선언되지 않은 (첫 번째 이 함수에서 사용)

나는 kMovieLoadStatePlayable이 QuickTime 프레임 워크에 속하고, QTKit과 QuickTime 프레임 워크가 내 프로그램에 있지만, 왜 여기에 오류가 발생하는지 알 수 없다고 생각합니다. 나는이 프레임 워크와 관련이 있다는 것을 알고 있습니다.

+0

kMovieLoadStatePlayable도 찾을 수 없지만 QTMovieLoadStatePlayable을 발견했습니다. 희망은 그것이 ok 다. –

답변

2

이 기호를 사용하는 소스 파일에 #import가 있습니까?

프레임 워크를 프로젝트에 끌어다 놓아도 헤더 파일을 모든 소스 파일에서 사용할 수 없으므로 (컴파일 속도가 현저하게 느려집니다). 각 소스 파일이 사용하는 모든 프레임 워크에 대해 우산 헤더를 명시 적으로 포함시켜야합니다.

모든 소스 파일에서 프레임 워크를 사용할 것이라는 확신이 들면 접두어 헤더에 #import를 추가하십시오.

+0

cdespinosa가 제공 한 답변에 대해 자세히 설명합니다. 이 기호는 QuickTime.framework의 Movies.h에 정의되어 있습니다. 이 파일을 가져 오려면 다음 줄을 사용하십시오. #import 일반적으로 파일의 맨 위에 있습니다. –