您可能会考虑更新的原因有很多,但我将重点介绍一些更重要的原因。首先要考虑到,Apple 作为硬件和软件制造商一直在努力使他们的设备保持最新状态,因为作为 iOS 应用程序开发者的落后绝对会影响对您的应用程序的需求。
首先,它已经成为一个推动或跳跃的情况,因为 Xamarin 停止更新或支持对其“经典 api”的功能添加(截至撰写本文时,我们使用的是 iOS 10.3)。
计划于明年秋季完全移除经典支持
随着 Xamarin.iOS 10.0 的发布。
其次需要统一的API来满足苹果支持64位架构的愿望:
新的统一 API 需要支持 64 位设备
来自 Xamarin.iOS 移动应用程序的体系结构。截至2月
2015 年 1 月,Apple 要求所有新应用程序提交到 iTunes
App Store 支持 64 位架构。
至于您对缺点的担忧,我只想说迁移可以顺利进行,也可以不那么顺利。值得牢记的是,“统一 api”使用不同的本机数据类型,这可能需要根据您的原始代码的当前结构进行一些变通。
最重要的一点是我之前提到的,在 Apple 的 App Store 中,如果您在使用最新的 SDK、API 或 Apple 决定升级的任何其他东西保持您的应用程序更新方面犹豫不决,那么它类似于给予在那个应用程序上。
我在下面整理了一些链接,可以帮助您完成迁移过程:
Native Types - 描述您需要在统一 API 应用程序中使用的新本机数据类型。
32/64 bit Platform Considerations - 为您的应用程序选择 32 位和 64 位模式时的注意事项。
Updating Existing iOS Apps - 按照以下步骤更新现有 Xamarin.iOS 应用以使用统一 API。
Binding Objective-C Libraries - 本文档描述了用于创建 Objective-C API 的 C# 绑定的过程,以及如何将 Objective-C 中的惯用语映射到 .NET 中使用的惯用语。如果您只绑定 C API,您应该为此使用标准 .NET 机制,即 P/Invoke 框架。
Binding Definition Reference Guide - 这是一份参考指南,描述了绑定作者可用于驱动绑定生成过程的所有属性。
Updating UI Components - 这是在统一 api 中将 UI 组件更新到最新版本的过程指南。