移植到Xamarin.IOS统一API

问题描述:

最近我得到了一个项目,这是建立在Mac上的Xamarin。现在,当我尝试在视觉工作室的MAC上打开此项目(因为你都知道Xamarin现在是MAC视觉工作室)它显示了有关Monotouch的一些错误。移植到Xamarin.IOS统一API

问题是:我真的需要将应用程序转换为统一的API吗?我知道有官方Xamarin文档的教程将应用程序更改为统一API,但是如果有任何其他方式可以在不迁移到统一API的情况下打开应用程序。迁移的优点和缺点是什么?

enter image description here

有相当为什么你会考虑更新的几个原因,但我会强调一些比较重要的。首先考虑到苹果作为硬件和软件的制造商一直在努力保持设备的最新状态,因为像iOS应用程序开发商这样落后的产品可以绝对影响您对应用程序的需求。由于Xamarin停止更新或支持他们的'经典api'功能添加(至于编写我们的iOS 10.3),它已经成为推动或跳跃的情况。

随着Xamarin.iOS 10.0的发布,计划在明年秋天完全取消经典支持 。

其次的统一的API需要满足苹果期望支持64位体系结构:

新的统一的API都需要支持64位设备从Xamarin.iOS移动应用 架构。截至2月 2015年1月苹果要求所有提交给iTunes的应用商店支持64位体系结构。

至于你对缺点的关注,我只是说迁移要么顺利,要么不顺利。值得注意的是,'统一api'使用不同的本地数据类型,这可能需要一些解决方法,具体取决于您原始代码的当前结构。

最大的一点就是我之前提到的在Apples 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 - 这是将UI组件更新到统一api中最新版本的过程指南。