Sid*_*kan 5 ipad multitasking-gestures ios9 split-screen-multitasking
对于iPad Air 2或iPad mini 4,我们可以使用所有三种不同的多任务功能(分割视图,幻灯片和画中画).对于iPad Air,iPad mini 2或iPad mini 3,我们可以使用Slide Over和Picture in Picture.有没有办法可以从代码中检测出这些设备?喜欢说,使用respondsToSelector:someMultitaskingmethod?
如果您确实希望确保您的设备具有特定的兼容性,则可以在" 设备兼容性"列表中检查设置.这将显示您可以添加到应用程序的plist中的许多键,这些键将进一步限制为支持所需功能的设备.与检查下面提到的可用类一起,我认为将为您想要实现的目标提供一个良好的矩阵.
快速浏览WWDC视频,了解您想要支持的功能,这表明您需要检查iPad Air,iPad Air2,iPad mini 2和3.您可以查看屏幕尺寸以及成语和类可用性,以确保您只定位所需的设备.IOSRES具有这些屏幕尺寸的良好矩阵〜可通过访问UIScreen.mainScreen().
另一种选择是使用TraitCollection来检查以识别正确的设备模型/功能.其中包括displayScale和forceTouchCapability等属性.人们甚至可以构建一个自己的特征集合来进一步描述一个独特的环境.
单独检查设备可能不是您想要做的.相反,您应该检查iOS平台上可用的功能以及设备习语/特征集合的某些组合.然后,您可以使用响应选择器来比较该方法是否可用.
检查更新的SDK或框架以获取有关画中画的更多信息(基本上,新方法可以完成所有的工作并告诉您设备是否支持该功能).运行方法的另一个前提是确定是否可以实例化新类.
您还可以研究检查平台中特定硬件的选项.请参阅Apple的此示例.
如果您知道要定位的功能在特定平台级别可用,则可以测试操作系统版本号(Apple示例).
+ (BOOL)isURLLoadingAvailable
{
    return (NSFoundationVersionNumber >= 462.6);
}
本文将介绍如何非常详细地支持多个操作系统和设备.
测试可用类的示例:
if ([AVPictureInPictureController class]) {
    //Safe to use AVPictureInPictureController 
} else {
    //Fail gracefully
}
测试可用方法的示例:
if ([self.image respondsToSelector:@selector(resizableImageWithCapInsets:resizingMode:)]) {
    //Safe to use this way of creating resizable images
} else {
    //Fail gracefully
}
Apple 详细介绍了如何采用新行为.这些需要设置plist和其他要求,以及检查上面的类和其他编程技术.有一个很好的例子,说明如何采用Slide Over和Split View,下载Lister(用于watchOS,iOS和OS X)示例代码项目.对于图片内图片样品看AVFoundationPiPPlayer .The AdaptivePhotos样品包括与iPad多任务处理.
| 归档时间: | 
 | 
| 查看次数: | 782 次 | 
| 最近记录: |