2011-03-21 42 views
1

我正在开发一个iPhone应用程序,我想支持Air Play。我的应用程序应该能够在iOS 4.1以上的iPhone设备上运行。所以,我在我的应用程序的目标设置中选择了iOS 4.3作为Base SDK和4.1作为部署目标。 现在,我想添加在MPMoviePlayerController上设置标志allowedAirPlay的代码。这仅在iOS 4.3 SDK中受支持。 应该是什么的XCode应用目标设置,应该如何代码写入使允许AirPlay支持和iOS 4.2,iOS4.3

  1. 也编译在未安装的iOS 4.3 SDK系统。
  2. 它可以在所有iPhone设备上正常运行,iOS> 4.1
  3. 在iOS 4.3的iPhone设备中,启用Air Play功能。

回答

2

你需要通过声明一个类的方法,在您的实现文件的顶部沉默编译器警告:

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

然后,检查方法实际上是实现调用前:

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

你也可以换一个预处理器#如果类定义时停止跟iOS 4.3 SDK编译它被人看见,虽然我还没有做到这一点。我没有安装早期的SDK,所以我不能真正测试它。

0

我已经做了如下:

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

它工作正常。可以对这两个答案中的一个进行修改。