以ios 7为目标,但支持ios 5+monotouch

以ios 7为目标,但支持ios 5+monotouch,ios,xamarin.ios,ios7,xamarin-studio,Ios,Xamarin.ios,Ios7,Xamarin Studio,我有一个针对iOS7的info.plist文件的应用程序。现在我想瞄准iOS 7。我还计划支持iOS 5和iOS 6 我的意思是,我希望我的客户能够下载我的应用程序,无论他们运行的是iOS 5.X、6.X还是iOS 7。可能吗 是的,这当然是可能的。您需要将项目的部署目标设置为5.0版。为此,请打开项目选项,导航到IOS应用程序选项卡,并将部署目标选项更改为5.0 因为您是根据最新的SDK构建的,所以必须非常小心,不要使用任何在实际运行时不可用的API和功能 最佳做法是不检查版本号,而是测试相关

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


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

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

因为您是根据最新的SDK构建的,所以必须非常小心,不要使用任何在实际运行时不可用的API和功能

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

if ( UINavigationBar.Appearance.RespondsToSelector( new Selector("setShadowImage:")))
    UINavigationBar.Appearance.ShadowImage = new UIImage();
当有疑问时,Xamarin Studio的对象资源管理器提供了一些见解,因为大多数API成员都使用一个导出属性进行修饰,其中包含一个自属性,指示引入API的IOS版本。Export属性还包含要与上面截取的代码中的选择器构造函数一起使用的选择器的名称


最后一句话。据统计,六月份iOS6的渗透率接近96%。从那时起,这个数字很可能一直在上升。更不用说苹果报告称,在昨天的事件中,iOS7的渗透率已经达到62%。如果我是你,我会三思而后行,如果支持iOS5值得这么麻烦。

苹果不支持向后兼容,但肯定支持向前兼容,但如果你真的想支持iOS7,我们必须考虑设计问题


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

谢谢您的回复。如果启用源代码分析,您将在Xamarin Studio编辑器中的“方法”和“属性”下获得一条浅绿色的曲线下划线,这仅在较新版本的iOS中可用。如果您的第一代iPad用户数量惊人,那么支持iOS5仍然很重要。所有可以连接到AppStore 3GS及以上的iPhone都支持iOS6.1。感谢您的回复。这是正确的,不幸的是,只有一个答复可以接受