允许 AirPlay 支持和 iOS 4.2、iOS 4.3
Posted
技术标签:
【中文标题】允许 AirPlay 支持和 iOS 4.2、iOS 4.3【英文标题】:allowsAirPlay support and iOS 4.2, iOS4.3 【发布时间】:2011-03-21 05:01:31 【问题描述】:我正在开发一个希望支持 Air Play 的 iPhone 应用程序。我的应用程序应该能够在 ios 4.1 及更高版本的 iPhone 设备上运行。因此,我在我的应用程序的目标设置中选择了 iOS 4.3 作为基础 SDK 和 4.1 作为部署目标。 现在,我想在 MPMoviePlayerController 上添加设置标志 allowedAirPlay 的代码。这仅在 iOS 4.3 SDK 中受支持。 XCode 应用程序目标设置应该是什么以及应该如何编写代码以便
-
在未安装 iOS 4.3 SDK 的系统中也可以编译。
它可以在所有 iOS > 4.1 的 iPhone 设备上正常运行
在装有 iOS 4.3 的 iPhone 设备中,Air Play 功能已启用。
【问题讨论】:
【参考方案1】:您需要通过在实现文件顶部的类别中声明方法来消除编译器警告:
@interface MPMoviePlayerController(MEKAirPlay)
- (void)setAllowsAirPlay:(BOOL)supports;
@end
然后,在调用之前检查该方法是否实际实现:
if ([player respondsToSelector:@selector(setAllowsAirPlay:)])
[player setAllowsAirPlay:YES];
您还可以将类别定义包装在预处理器#if 中,以防止在使用 iOS 4.3 SDK 编译时看到它,尽管我没有这样做。我没有安装早期的 SDK,所以我无法真正测试。
【讨论】:
【参考方案2】:我做了如下:
#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_4_2
mMoviePlayerController.allowsAirPlay = YES;
#endif
它工作正常。可以调整这两个答案之一。
【讨论】:
以上是关于允许 AirPlay 支持和 iOS 4.2、iOS 4.3的主要内容,如果未能解决你的问题,请参考以下文章