哈玛林.针对iOS 7,但支持iOS 5 +单点触控



我有一个针对iOS7的应用程序,它的info.plist文件。现在我想瞄准iOS 7。我也有一个支持iOS 5和iOS 6的计划。

我的意思是,我希望我的客户能够下载我的应用程序,无论他们运行的是iOS 5.X,6.X还是iOS 7。可能吗?

是的,这当然是可能的。您需要将项目的部署目标设置为 V5.0。为此,请打开"项目选项",导航到"IOS应用程序"选项卡,然后将"部署目标"选项更改为5.0。

由于您是针对最新的 SDK 构建的,因此您必须非常小心,不要使用实际运行时上不可用的任何 API 和功能。

最佳做法是不检查版本号,而是测试相关对象是否响应特定的选择器:

if ( UINavigationBar.Appearance.RespondsToSelector( new Selector("setShadowImage:")))
    UINavigationBar.Appearance.ShadowImage = new UIImage();

如有疑问,Xamarin Studio 的对象资源管理器会提供一些见解,因为大多数 API 成员都使用 Export 属性进行修饰,该属性包含 Since 属性,指示引入 API 的 IOS 版本。Export 属性还包含要在上面截取的代码中与选择器构造函数一起使用的选择器的名称。

最后说一句。根据一些消息来源,iOS6 的渗透率在 6 月份接近 96%。自那时以来,这个数字很可能一直在上升。更不用说苹果报告称iOS7渗透率已经达到昨天事件的62%。如果我是你,我会三思而后行,如果支持 iOS5 值得麻烦。

Apple不支持向后兼容性,但肯定支持向前兼容性,但是如果您真的想支持iOS7,我们必须解决设计问题。

若要更改应用程序的部署目标,请选择项目名称并转到"目标",然后从右窗格中选择"部署目标"。它将支持高于您选择的版本的操作系统。

最新更新