ios - 面向 ios 7 但支持 ios 5+ monotouch

标签 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 和功能。

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

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

当有疑问时,Xamarin Studio 的对象资源管理器提供了一些见解,因为大多数 API 成员都使用 Export 属性进行修饰,该属性除其他外还包含since属性,指示引入该 API 的 IOS 版本。 Export 属性还包含与上面代码片段中的 Selector 构造函数一起使用的选择器名称。

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

关于ios - 面向 ios 7 但支持 ios 5+ monotouch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19538491/

相关文章:

iphone - 从 iPhone 应用程序使用 AFNetworking 上传视频

iphone - 将唯一条目添加到数组中 - Xcode/Objective-C

c# - 在 Xamarin.iOS 中设置 RootViewController 后 NavigationController 为 null

.net - .NET 的强大日期时间解析器库

html - iOS 7 网站主屏幕图标在启动时崩溃

ios - WKWebView didFinish 不工作 Swift 4

ios - SKStoreReviewController.requestReview() 在 Live App 中不起作用

c# - 如何在 xamarin iOS 中从 UiKit 获取盒子上的简单开始边框

uiview - 在 ios 7 上动态展开 UITextView

ios - MKNetworkEngine 不触发它的方法