【问题标题】:Migrate to Xamarin.IOS Unified API迁移到 Xamarin.IOS 统一 API
【发布时间】:2017-11-14 07:46:43
【问题描述】:

最近我得到了一个在 Mac 上基于 Xamarin 构建的项目。现在,当我尝试在 Visual Studio for MAC 上打开这个项目时(众所周知,Xamarin 现在是 Visual Studio for MAC),它显示了一些关于 Monotouch 的错误。

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

【问题讨论】:

    标签: xamarin xamarin.ios mvvmcross visual-studio-mac


    【解决方案1】:

    您可能会考虑更新的原因有很多,但我将重点介绍一些更重要的原因。首先要考虑到,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 组件更新到最新版本的过程指南。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-17
      • 1970-01-01
      • 1970-01-01
      • 2015-05-13
      • 1970-01-01
      相关资源
      最近更新 更多