2011-03-21 4 views
1

Air Play를 지원하고 싶은 iPhone 응용 프로그램을 개발 중입니다. 내 앱은 iOS 4.1 이상의 iPhone 기기에서 실행할 수 있어야합니다. 따라서 iOS 4.3을 Base SDK로, 4.1을 배포 타겟으로 내 앱의 대상 설정에서 선택했습니다. 이제 MPMoviePlayerController에서 allowsAirPlay 플래그를 설정하는 코드를 추가하고 싶습니다. 이 기능은 iOS 4.3 SDK에서만 지원됩니다. 은 무엇 엑스 코드 앱 목표 설정해야하며, 코드는 어떻게 작성해야하므로allowAirPlay 지원 및 iOS 4.2, iOS4.3

  1. 그것은 또한 아이폰 OS 4.3 SDK가 설치되지 않은 시스템에 컴파일합니다.
  2. iOS가 4.1 이상인 모든 iPhone 장치에서 올바르게 실행됩니다.
  3. iOS 4.3이 설치된 iPhone 장치에서 Air Play 기능이 사용됩니다.

답변

2
당신은 당신의 구현 파일의 상단에 범주에 방법을 선언하여 컴파일러 경고 침묵해야합니다

:를 호출하기 전에,이 방법이 실제로 구현되어 있는지 확인하십시오, 그리고

@interface MPMoviePlayerController(MEKAirPlay) 
- (void)setAllowsAirPlay:(BOOL)supports; 
@end 

:

if ([player respondsToSelector:@selector(setAllowsAirPlay:)]) { 
    [player setAllowsAirPlay:YES]; 
} 

또한 아이폰 OS 4.3 SDK로 컴파일 할 때 내가 그 일을하지 않은 있지만,이, 들키지 정지 전 처리기의 #if의 범주 정의를 포장 할 수있다. 더 이상 SDK를 설치하지 않아서 실제로 테스트 할 수 없습니다. 내가 그것을했을

0

은 다음과 같습니다

#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_4_2 
     mMoviePlayerController.allowsAirPlay = YES;   
#endif 

그것은 잘 작동합니다. 이 두 가지 대답 중 하나를 적용 할 수 있습니다.