针对ios 7,但支持ios 5+ monotouch

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

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

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

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

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

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

如果有疑问,Xamarin Studio的Object Explorer提供了一些见解,因为大多数API成员都使用Export属性进行修饰,其中包含Since属性,表示引入API的IOS版本。 Export属性还包含在上面的代码中使用Selector构造函数的选择器的名称。

最后一句话。 根据一些消息来源 ,iOS6的渗透率在6月份接近96%。 从那时起最有可能上涨的数字。 更不用说苹果公司报告说iOS7的渗透率已经达到了昨天的62%。 如果我是你,如果支持iOS5值得麻烦,我会三思而后行。

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

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