允许AirPlay支持和iOS 4.2,iOS4.3
问题描述:
我正在开发一个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
- 也编译在未安装的iOS 4.3 SDK系统。
- 它可以在所有iPhone设备上正常运行,iOS> 4.1
- 在iOS 4.3的iPhone设备中,启用Air Play功能。
答
你需要通过声明一个类的方法,在您的实现文件的顶部沉默编译器警告:
@interface MPMoviePlayerController(MEKAirPlay)
- (void)setAllowsAirPlay:(BOOL)supports;
@end
然后,检查方法实际上是实现调用前:
if ([player respondsToSelector:@selector(setAllowsAirPlay:)]) {
[player setAllowsAirPlay:YES];
}
你也可以换一个预处理器#如果类定义时停止跟iOS 4.3 SDK编译它被人看见,虽然我还没有做到这一点。我没有安装早期的SDK,所以我不能真正测试它。
答
我已经做了如下:
#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_4_2
mMoviePlayerController.allowsAirPlay = YES;
#endif
它工作正常。可以对这两个答案中的一个进行修改。