我正在开发一个iPhone应用程序,我希望在其中支持Air Play。我的应用程序应该能够在iOS设备上运行iOS 4.1以上。因此,我在我的应用程序的目标设置中选择了iOS 4.3作为Base SDK和4.1作为部署目标。 现在,我想在MPMoviePlayerController上添加设置标志allowsAirPlay的代码。仅在iOS 4.3 SDK中支持此功能。 什么应该是XCode应用程序目标设置以及如何编写代码以便
答案 0 :(得分:2)
您需要通过在实现文件顶部的类别中声明方法来使编译器警告静音:
@interface MPMoviePlayerController(MEKAirPlay)
- (void)setAllowsAirPlay:(BOOL)supports;
@end
然后,在调用之前检查方法是否已实际实现:
if ([player respondsToSelector:@selector(setAllowsAirPlay:)]) {
[player setAllowsAirPlay:YES];
}
您还可以将类别定义包装在预处理器#if中,以便在使用iOS 4.3 SDK进行编译时阻止它被看到,尽管我还没有这样做。我没有安装早期的SDK,所以我无法真正测试它。
答案 1 :(得分:0)
我做了如下:
#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_4_2
mMoviePlayerController.allowsAirPlay = YES;
#endif
工作正常。可以调整这两个答案中的一个。