2013-10-23 49 views
2

我有针对性的iOS7在其Info.plist文件的应用程序。现在我想瞄准iOS 7。另外我也有计划支持iOS 5和iOS 6。靶向IOS 7但支持iOS 5以上的MonoTouch

我的意思是我希望我的客户能够下载我的应用程序是否正在运行iOS 5.x或6.x或iOS 7,这可能吗?

回答

5

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

既然你正在构建对你必须非常小心,不要使用任何API和功能不可用实际运行最新的SDK。

这是最好的做法是不检查版本号,但如果有问题的对象响应特定的选择,而测试:

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

有疑问时,Xamarin Studio的对象资源管理器提供了,因为大多数的一些见解API成员用一个Export属性装饰,其中包含一个Since属性,表示引入API的IOS版本。 Export属性还包含在上面剪切的代码中用于选择器构造函数的选择器的名称。

最后一句话。根据some sources,6月份iOS6渗透率接近96%。从那以后,这个数字最有可能上升。更不用说苹果报道iOS7的渗透率已经在昨天的62%。如果我是你,如果支持iOS5是值得的麻烦,我会考虑三次。

+0

感谢您的回复。它非常有竞争力 –

+0

如果启用源分析,您将在Xamarin Studio编辑器中仅适用于新版本iOS的方法和属性下获得淡绿色的下划线下划线。 – jstedfast

+0

如果你有第一代iPad的用户(令人惊讶的数量的公司),支持iOS5仍然很重要。所有可连接至AppStore的iPhone(3GS及以上)均支持iOS6.1。 – Peter

0

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

要更改应用程序的部署目标选择项目名称并转到目标,然后从右侧pane.It选择部署目标将支持的版本,您选择以上操作系统。

+0

感谢您的回复。这是对的,不幸的是只有一个答复可以接受 –